Commit Graph

419 Commits

Author SHA1 Message Date
Florian Schneider b349c2cbd6 Temporarily update test status for Android
BUG=
R=kustermann@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1924833003 .
2016-05-02 11:19:43 +02:00
Sigmund Cherem 385f3350c5 Update status of cpsir tests in checked mode: skipping for now, since more than
75% fail for one reason, once we fix that we can triage in more detail.

Review URL: https://codereview.chromium.org/1771893002 .
2016-03-07 10:20:41 -08:00
Ryan Macnak e880063e88 Include the canonical static closure when serializing ClosureData.
BUG=http://dartbug.com/25892
R=asiva@google.com

Review URL: https://codereview.chromium.org/1771483002 .
2016-03-07 09:06:26 -08:00
Ryan Macnak 167616b83e Skip mirror tests more generally for $mode == product instead of $runtime == dart_product.
Reduces failures in tools/test.py -mproduct.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1760043002 .
2016-03-03 10:06:59 -08:00
Ryan Macnak 3fd5ffdbd4 Make tools/build.py -cprecompiler -rdart_precompiled green:
- Create a separate compilation output directory for each VMOptions varient so they can run in parallel.
- Run both the snapshotter and assembler from the test harness instead of a wrapper script so crashes in the snapshotter are correctly identified by the test harness.
- Delete the assembly source for the precompiled shared library as we go to limit space required to run the test suite (now 61GB for X64 release).
- Remove the VMOption --optimization-counter-threshold in when running precompilation tests.
- Don't look at a library prefix's import list during load(), it was removed by tree-shaking.
- Trace types of TypeParameters.
- Trace types of a Function's owner and parent.
- Update status file for remaining 4 failures under http://dartbug.com/25892.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1732323005 .
2016-03-01 15:19:11 -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
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
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 aba2e1ea99 dart2js cps: Fix bug in pulling of assignments into a var.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1609943002 .
2016-01-19 16:55:45 -08:00
Ivan Posva b2a186c2dd - Readjust Dartium status files.
BUG=

Review URL: https://codereview.chromium.org/1591063002 .
2016-01-15 11:22:24 -08:00
Ivan Posva 7b75f2dbb7 - Allow specifying of package: URIs for packageConfig and packageRoot when
spawning a new isolate.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1586653003 .
2016-01-14 08:20:59 -08:00
Ivan Posva b508064e9e - Further updates of status files for Dartium.
BUG=

Review URL: https://codereview.chromium.org/1582913002 .
2016-01-13 09:17:17 -08:00
Ivan Posva 8741a8dcda - Update status files.
BUG=

Review URL: https://codereview.chromium.org/1579213003 .
2016-01-13 01:39:40 -08:00
Ivan Posva ca40bd9233 Fix build:
- Update status files.

BUG=

Review URL: https://codereview.chromium.org/1580353002 .
2016-01-12 21:06:27 -08:00
Asger Feldthaus e876b9aba9 dart2js cps: Update status files.
BUG=

Review URL: https://codereview.chromium.org/1563183005 .
2016-01-07 12:07:25 -08:00
Sigmund Cherem c10c55bb92 cpsir: update status files
Review URL: https://codereview.chromium.org/1563833003 .
2016-01-06 14:27:24 -08:00
Kevin Millikin 044b283a3c dart2js: Initial implementation of inlining.
Perform a depth-first postorder traversal of the call graph of known
functions.  Make an inlining decision based on the vector of argument
types at the call site, and cache inlining decisions.  For positive
inlining decisions, cache the optimized function body specialized to
the receiver and argument types at the call site.

Future work:
  * Real inlining heuristics.
  * Propagate result types of inlined calls.
  * Specialized for constant arguments when it makes sense.
  * Performance improvements.

R=asgerf@google.com, sra@google.com

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

Review URL: https://codereview.chromium.org/1537663002 .
2015-12-23 10:12:19 +01:00
Kevin Millikin 75eb350abc Revert "dart2js: Initial implementation of inlining."
This reverts commit d63053fea8.

Reverted due to test failures for compiler expected output.  Those tests
need to be rebaselined to reflect the effects of inlining.

TBR=whesse@google.com
BUG=

Review URL: https://codereview.chromium.org/1542003003 .
2015-12-22 13:48:36 +01:00
Kevin Millikin d63053fea8 dart2js: Initial implementation of inlining.
Perform a depth-first postorder traversal of the call graph of known
functions.  Make an inlining decision based on the vector of argument
types at the call site, and cache inlining decisions.  For positive
inlining decisions, cache the optimized function body specialized to
the receiver and argument types at the call site.

Future work:
  * Real inlining heuristics.
  * Propagate result types of inlined calls.
  * Specialized for constant arguments when it makes sense.
  * Performance improvements.

R=asgerf@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1537663002 .
2015-12-22 12:50:23 +01: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
Todd Turnidge bd2b840be0 Revert my recent changes to the Dartium test status files.
We have restored blocking isolate spawning under a flag.

--------

Revert "Update test status files.  Issue #24990."

This reverts commit 05bf1d6bb6.

Revert "Skip isolate spawning tests on Dartium."

This reverts commit c6c6f121ed.

BUG=

Review URL: https://codereview.chromium.org/1472783004 .
2015-11-23 15:15:55 -08:00
Todd Turnidge c6c6f121ed Skip isolate spawning tests on Dartium.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1455233007 .
2015-11-20 11:10:17 -08:00
Todd Turnidge 05bf1d6bb6 Update test status files. Issue #24990.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1454143005 .
2015-11-19 12:42:58 -08:00
Srdjan Mitrovic 6f73461202 Making bots greener
BUG=

Review URL: https://codereview.chromium.org/1441743004 .
2015-11-13 09:40:05 -08:00
William Hesse ef5f949c86 Update status for dartium tests.
BUG=https://github.com/dart-lang/sdk/issues/24795
BUG=https://github.com/dart-lang/sdk/issues/24571
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1407113009 .
2015-11-02 16:19:59 +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
Siva Annamalai 02c702bf92 1. Write the backing data array of a GrowableObjectArray as a reference
2. Cleanup and refactor WriteObjectRef and WriteObjectInlined and pass as_reference as a parameter to the WriteTo function to allow respective types to deal with it.
3. Added a as_reference parameter to the ReadFrom functions (currently the parameter is not used but the next round of changes will cleanup ReadObjectRef and ReadObjectInlined similarly).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1388543008 .
2015-10-12 12:45:59 -07:00
Ivan Posva 52bd332576 - Adjust test to renamed optional parameter.
BUG=

Review URL: https://codereview.chromium.org/1388413006 .
2015-10-12 09:42:56 -07:00
Stephen Adams e383a3aa01 Remove isolate.status entries for 4 tests that now pass for cps_ir
TBR=whesse@google.com

Review URL: https://codereview.chromium.org/1400593002 .
2015-10-08 10:40:07 -07:00
Karl Klose e28e578731 dart2js cps: Support sync* and yield.
R=asgerf@google.com, kmillikin@google.com

Review URL: https://codereview.chromium.org//1353843002 .
2015-09-23 11:01:34 +02:00
Siva Annamalai 807eacae30 Fix for issue 24243 (allow objects of dart:core and dart:collections to be passed in for now, we need a whitelist of core types against which we need to check)
BUG=24243
R=koda@google.com

Review URL: https://codereview.chromium.org//1343213002 .
2015-09-16 12:08:45 -07:00
Asger Feldthaus 19cb08fa05 dart2js cps: Remove code after calls that cannot return.
This should resolve an outstanding issue with unreachable code being
transformed. A subterm in the unreachable code would get specialized
and then reanalyzed while some of the definitions in scope have no type.

This changes a lot of test case results. Some test results
have changed in very surprising ways, but I would argue
these are separate bugs that we should hunt down.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1335273003 .
2015-09-15 17:46:48 +02:00
Lasse R.H. Nielsen f8f06d784a Implement new parameters on Isolate.spawn() for dart2js.
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1294803003 .
2015-08-19 13:52:36 +02:00
Siva Annamalai e61f1dc8ce 1. Reclaim the CreatedFromSnapshot bit and use the bit to indicate VM heap object.
2. Cleanup calls to set_tags when reading objects from a snapshot.

3. Fixes issue 21816

R=regis@google.com

Review URL: https://codereview.chromium.org//1221503004 .
2015-08-10 11:02:31 -07:00
Karl Klose 5afd716354 Skip some isolate/spawn tests on dart2js browser runs - they time out.
R=whesse@google.com, lrn@google.com

Review URL: https://codereview.chromium.org//1240243003 .
2015-07-23 10:21:54 +02:00
Ivan Posva f4b4eb2d71 - Update status file for timing out tests.
BUG=

Review URL: https://codereview.chromium.org//1245073002 .
2015-07-21 08:54:44 +02:00
Ivan Posva fb4a42279b Fix build:
- Mark isolate tests with newly added parameters failing on dart2js.
- Specify files needed to be supplied to test harness for spawnUri.

BUG=

Review URL: https://codereview.chromium.org//1246823002 .
2015-07-21 00:00:20 +02:00
Ivan Posva fe03640e85 - Implement VM parts of https://codereview.chromium.org/1240743003/
- Pass additional state in the IsolateSpawnState to set
  error and exit handlers, as well as fatal errors on isolate start.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1244733002 .
2015-07-20 16:46:54 +02:00
Karl Klose 0869c5ca4a dart2js cps: Update test expectations.
TBR=asgerf@google.com

Review URL: https://codereview.chromium.org//1240253002 .
2015-07-20 14:40:37 +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 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
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
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
Karl Klose 3f46181244 cps-ir: Support foreign code.
R=kmillikin@google.com

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

Reverted: https://github.com/dart-lang/sdk/commit/40ed0daaaf71904d2da271e66ba8381ef857116d

Review URL: https://codereview.chromium.org//1185633003.
2015-06-19 13:44:58 +02:00
Karl Klose 40ed0daaaf Revert "cps-ir: Support foreign code."
This reverts commit a120ee7c90.

TBR=kmillikin@google.com

Review URL: https://codereview.chromium.org//1196443002.
2015-06-18 13:37:52 +02:00