Commit Graph

645 Commits

Author SHA1 Message Date
Ryan Macnak ad01f0fb41 Don't expand inline frames in stacktraces under noopt to match full precompiled behavior.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1748793002 .
2016-02-29 13:28:09 -08:00
Siva Annamalai 5c53e14d55 - Skip tests which use dart:mirrors in product mode
Review URL: https://codereview.chromium.org/1728663002 .
2016-02-24 18:13:20 -08:00
William Hesse bb6b9bda4a Remove unused builder-tag on mac builders.
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1726583002 .
2016-02-23 11:18:11 +01:00
Siva Annamalai 809c205cae - Fix --run-fullsnapshot flag processing issue in non product mode.
- Adjust status files for product mode issues (Process.run, SpawnUri,
  test expecting line numbers)

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1720193002 .
2016-02-22 15:33:34 -08:00
William Hesse 270ad3f552 Remove ContentShellOnAndroid from status files
Dartium and content_shell are no longer built or tested on Android.
A separate issue is filed to remove support from the test scripts:
https://github.com/dart-lang/sdk/issues/25832

BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1720813002 .
2016-02-22 10:20:22 +01:00
Kevin Millikin fc839c7139 Update dart2js CPS test expectations.
corelib/data_resource_test had an expectation of RuntimeError or Crash due
to overlapping test expectations.  It should not crash.

corelib/package_resource_test had the same expectation.  It should crash.

BUG=
R=asgerf@google.com

Review URL: https://codereview.chromium.org/1709573003 .
2016-02-18 12:47:43 +01:00
Asger Feldthaus 3e5c643fb1 dart2js cps: Add flaky test to status file.
See issue 25795.

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1705003002 .
2016-02-18 10:46:22 +01:00
Siva Annamalai 64a5845d19 Fix status files to account for dart_product runtime.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1688423002 .
2016-02-17 12:22:35 -08:00
Asger Feldthaus 1c698c183b dart2js cps: Fix inlining of stringify.
The rewrite Stringify(x) -> x.toString() is only safe when the toString
method is known to return a string.

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1697373002 .
2016-02-17 10:57:58 +01:00
Asger Feldthaus 0d02f5ccca dart2js cps: Update status files.
BUG=

Review URL: https://codereview.chromium.org/1696323002 .
2016-02-16 11:03:58 +01:00
Kevin Millikin fd9603d1d2 dart2js CPS: implement special handling of the Symbol constructor.
There is a 'const' Symbol constructor that is not expressible as a Dart
const constructor because it performs validation of its input.  This is
implemented in the libraries by using a dummy const constructor definition
that does not validate its input and replacing calls to 'new Symbol' with
calls to 'new Symbol.validated' in the compiler.

Without replacing calls to 'new Symbol', the non-validating dummy
implementation will be used, which is not correct.

Closes #24878.

R=asgerf@google.com
BUG=https://github.com/dart-lang/sdk/issues/24878

Review URL: https://codereview.chromium.org/1639313002 .
2016-01-28 08:55:35 +01:00
Stephen Adams 1673a64849 Add type info to JSArray.
JSArray<E>.typed has a specially generated body. We should be able to inline this. This makes all of the "new List.xxx()" paths work.

Literal lists are treated like maps - we generate a call to JSArray<E>.typed.  I need to change that to JSArray<E>.markGrowable.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1642493002 .
2016-01-27 13:47:12 -08:00
Stephen Adams 33ac12a5a4 Lower map literals to constructor or function calls in builder
Remove LiteralMap from cps_ir and tree_ir.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1616143003 .
2016-01-21 19:32:13 -08:00
Stephen Adams 7d3b6b1827 Triage 3 cps_ir tests
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/1617973002 .
2016-01-21 10:56:47 -08:00
Ryan Macnak 6b964b83ac Add ./tools/test.py -c precompiler -r dart_precompiled.
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces.
 - Throw on Platform.executeable to prevent tests from becoming fork-bombs.
 - Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'.

Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory.

Running this also requires a great deal of space. My out directory is 380G.

BUG=http://dartbug.com/24975
R=fschneider@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1507943002 .
2015-12-18 12:08:10 -08:00
William Hesse 6485590527 Remove old java-based analyzer from test scripts and status files
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1537653002 .
2015-12-17 14:44:57 +01:00
Ryan Macnak d71b98cfe7 Further triage --noopt failures.
- Explain slow bigint tests.
 - Note that deferred loading tests are failing for a valid reason.

BUG=http://dartbug.com/24676
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1531903002 .
2015-12-16 16:24:36 -08:00
Kevin Millikin d20d3f6419 dart2js CPS: Triage an issue in the corelib tests.
R=asgerf@google.com
BUG=https://github.com/dart-lang/sdk/issues/24878

Review URL: https://codereview.chromium.org/1434933002 .
2015-11-11 11:32:49 +01:00
Ryan Macnak 371a5dc932 Get tools/test.py --noopt green.
More specifically ./tools/test.py --noopt -mall -ax64,simarm,simarm64,simmips --exclude-suite=pkg

 - Add missing dart:io entry point.
 - Add checks that Dart_FinalizeLoading, Dart_Precompile, Dart_CreatePrecompiledSnapshot are called in order.
 - Add checks for --precompilation flag.
 - Add checks for dropped class in Dart_New/Allocate/AllocateWithNativeFields.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1407393005 .
2015-10-21 10:35:01 -07:00
Asger Feldthaus a50105543f dart2js cps: Add a pass for eliminating bounds checks.
The analysis uses a watered-down octagon domain which reduces range
analysis to a graph problem.

There are more ideas to try out to improve on this, but I think this is
a nice baseline to work from.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1353443002 .
2015-10-13 16:40:54 +02:00
Asger Feldthaus f1a40e23c1 dart2js cps: Status updates and minor fixes for host checked mode.
CPS should now run the test suite cleanly in host-checked mode. Let's keep it that way.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1377323003 .
2015-10-02 15:36:21 +02:00
Karl Klose d9caf4a725 Move cps-ir section to the end of the file and update test expectations.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1312583008 .
2015-09-07 15:37:39 +02:00
Mads Ager bb25ca8215 Update jsshell expectations for double parsing now that the problematic cases are separated out.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1313333003 .
2015-09-01 12:09:17 +02:00
Asger Feldthaus 0216e21efc dart2js cps: Use 'this' instead of receiver-arg when possible.
This fixes a bug in how intercepted super calls were handled,
and enables the redundant receiver optimization.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1312393002 .
2015-08-26 16:06:41 +02:00
Harry Terkelsen bc0deb66d7 dart2js: fetch http Resources
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org//1308143002 .
2015-08-25 10:46:27 -07:00
Karl Klose 6820b95c1c dart2js cps: update test expectations.
TBR=kmillikin@google.com

Review URL: https://codereview.chromium.org//1303333003 .
2015-08-24 10:59:15 +02:00
Asger Feldthaus 689ea4f24a dart2js: Update status files.
dart2js/http_test passes when run in isolation, but always times out
on my machine when run in a large batch. I marked it as slow in
unchecked mode (was already marked as slow in checked mode).

Some timeouts that were fixed in dart2js cps but somehow were added to
the status file again.

Some tests in corelib fail in CPS.

BUG=

Review URL: https://codereview.chromium.org//1292223003 .
2015-08-18 10:35:47 +02:00
Lasse R.H. Nielsen 1b8f3fba14 Make List constructor give better error messages for non-int arguments
BUG= http://dartbug.com/15986
R=herhut@google.com, iposva@google.com, sra@google.com

Committed: https://github.com/dart-lang/sdk/commit/33c76638268e3e24fb7a73a8f6f141f38272e8dd

Review URL: https://codereview.chromium.org//1214723009 .
2015-08-17 13:01:13 +02:00
Lasse R.H. Nielsen 51fa195f16 Revert "Make List constructor give better error messages for non-int arguments"
There are VM-only tests that assume exact text of failure.

BUG=

Review URL: https://codereview.chromium.org//1294483003 .
2015-08-14 15:05:17 +02:00
Lasse R.H. Nielsen 33c7663826 Make List constructor give better error messages for non-int arguments
BUG= http://dartbug.com/15986
R=herhut@google.com, iposva@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1214723009 .
2015-08-14 13:44:19 +02:00
Lasse R.H. Nielsen 8301c6e7b2 Don't expect analyzer to fail resource tests.
Also make package have `publish_to:"none"` on pubspec.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1286713002 .
2015-08-11 11:35:36 +02:00
Lasse R.H. Nielsen c26095b1b3 Add resource tests.
R=sgjesse@google.com, whesse@google.com

Review URL: https://codereview.chromium.org//1276263002 .
2015-08-11 10:07:10 +02:00
Karl Klose 7eb3bb82b7 dart2js cps: update test expectations for new tests.
TBR=kmillikin@google.com

Review URL: https://codereview.chromium.org//1280603003 .
2015-08-07 08:36:47 +02:00
Asger Feldthaus 7d8067135c dart2js cps: Support 'on T' clauses without a 'catch'.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1247333003.
2015-07-23 12:39:10 +02:00
Karl Klose 1b7053bcf6 dart2js cps: Use CPS IR for patched functions and typed data.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1241303003 .
2015-07-22 13:07:35 +02:00
Karl Klose 04dacd24f4 Remove functions white-listed for use of try-finally and switch, add JS_SET_CURRENT_ISOLATE.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1237573002 .
2015-07-14 10:26:38 +02:00
Karl Klose 3fe9309c96 dart2js cps: Implement compilation of redirecting factory constructors for reflection.
Without reflection, redirecting factory constructor invocations are shortcut at the instantiation site.  With reflection, code like
  reflectClass(Foo).newInstance(const Symbol(''), [])
can hit a redirecting factory constructor and we need to emit a function that does the redirection and type substitution.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1227873004 .
2015-07-09 14:54:23 +02:00
Karl Klose 71e2bec0a5 dart2js cps: Support JS_CURRENT_ISOLATE.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1222913003 .
2015-07-07 15:55:13 +02:00
Asger Feldthaus 61f47e7384 dart2js cps: Ensure JSArray is emitted when we see a type cast.
This is a workaround to resolve an issue that is affecting a lot
of tests.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1214123003.
2015-07-03 14:32:01 +02:00
Asger Feldthaus 34302b1320 dart2js cps: Translate synthesized mixin constructors.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1216593002.
2015-06-29 15:28:40 +02:00
Asger Feldthaus ec55d46148 dart2js cps: Fix translation of local constants.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1211393003.
2015-06-29 14:32:49 +02:00
Lasse R.H. Nielsen 3a0edfba72 Add tests for gcd, modInverse and modPow that also run on dart2js.
R=regis@google.com, sgjesse@google.com

Review URL: https://codereview.chromium.org//1205363003.
2015-06-26 11:05:11 +02:00
Asger Feldthaus fceb7f00dc dart2js cps: Handle checks against mutable and extendable lists.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1206873003.
2015-06-25 15:03:00 +02:00
Kevin Millikin 089ed2965b Implement try/finally by inlining the finally code.
Try/finally is implemented by inlining.  There is a try/catch to catch
exceptions in the try block.  The catch body contains the finally code
followed by a rethrow.  The code for finally is translated again after the
normal exit of the try block.  Break, continue, and return exits in the try
block have the finally code inlined just before the exit is taken.

Try/catch/finally is not yet supported, it requires some changes to the
assigned variables analysis.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1201983002.
2015-06-24 10:12:42 +02:00
Srdjan Mitrovic 28594e455d Disable guessing 'other' cid; this prevents an issue in range analysis. It is not clear if guessing the 'other' cid optimization is the right thing to do as it may bring the flow graph in an unexpected state
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1203773002.
2015-06-23 13:23:02 -07:00
Srdjan Mitrovic e91b99b66d Fix crash in modPow (issue 23693); various bigint knowledge missing.
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org//1197263002.
2015-06-22 15:11:36 -07:00
Ivan Posva d0d5185550 - Status file tuning.
BUG=

Review URL: https://codereview.chromium.org//1199593004.
2015-06-22 12:47:18 -07:00
Ivan Posva d9da805f07 - Split big integer tests into pieces.
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1198993003.
2015-06-22 12:22:14 -07:00
Srdjan Mitrovic aa8ea6da27 Enable TryCreateICData optimization, disable crashing test in status file
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//1198333004.
2015-06-22 10:58:51 -07:00
Kevin Millikin bf595224d5 Implement simple switch statements as nested if/else.
Simple switch statements that do not have continue to labeled cases
are compiled into a chain if/else comparisons.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1191193005.
2015-06-22 11:29:31 +02:00