Commit Graph

466 Commits

Author SHA1 Message Date
Florian Schneider 6d66f3dea8 VM: Make optimized try-catch work in DBC.
The catch entry block has all locals in fixed locations
(Rj) where j = kNumberOfRegisters - i for parameter i.

This means we reserve a range of DBC registers at the top-end of the frame.
Those registers are blocked for general allocation to avoid any overlap
with the rest of the registers that are allocated from the bottom.

Each optimized frame with a try-catch will be kNumberOfRegisters wide.

BUG=
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2388093003 .
2016-10-13 11:36:23 -07:00
Florian Schneider 8a7dabe522 Temporarily update status for 2 tests on SIMDBC.
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2388363002 .
2016-10-04 09:25:44 -07:00
Sigmund Cherem fc0bf7a85b First set of test triage for fast-startup
Review URL: https://codereview.chromium.org/2285823002 .
2016-08-26 10:04:41 -07:00
Brian Wilkerson afd21330f7 Generalize the first argument in an assert to be an expression (issue 26865)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2140673004 .
2016-07-12 11:02:51 -07:00
John McCutchan ef71bc1834 Improve hot reload test mode
- [x] Start reloading even earlier.
- [x] Keep the value of FLAG_reload_every per-isolate (so spawned isolates reload eagerly too).
- [x] Adjust the reload every back off curve to be linear in the beginning.
- [x] Cap the reload every threshold at 1,000,000
- [x] Test status file updates.
- [x] Stop disabling the background compiler / OSR when running tests.
- [x] Skip multi tests with compilation errors when reloading.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2133823002 .
2016-07-11 12:29:13 -07:00
William Hesse c87a720c86 Update status for package_resource_test
BUG=https://github.com/dart-lang/sdk/issues/26842
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2131263002 .
2016-07-08 17:38:29 +02:00
Johnni Winther 4764bbc66f Update status for package_resource_test.
Review URL: https://codereview.chromium.org/2130373002 .
2016-07-08 16:18:41 +02:00
Ryan Macnak eb20b68e87 Add --hot-reload to the test harness.
./tools/build.py -mdebug,release runtime
./tools/test.py -mdebug,release --checked --hot-reload

BUG=http://dartbug.com/26809
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2114083002 .
2016-07-01 11:28:00 -07:00
Ryan Macnak ef8baa8760 Add test harness option for app snapshots with unoptimized code.
./tools/test.py -m all -c dart2appjit -r dart_app --use-blobs

Rename 'dart_product' runtime to 'dart_app'.

Rename Dart_PrecompiledJITSnapshotBlob to Dart_CreateAppJITSnapshot and add documentation.

Remove out-of-date scripts in tools/precompilation.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1992703005 .
2016-05-26 10:37:47 -07:00
Lasse R.H. Nielsen fbf64bb7a5 Make Iterable.toList more efficient if the length is known.
Add more tests. Fix (some) bugs found by tests.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/1999793002.
2016-05-23 10:00:19 +02:00
Stephen Adams 230824610f Split int_parse_radix_test into strong and non-strong parts.
R=vsm@google.com

Review URL: https://codereview.chromium.org/1950413002 .
2016-05-05 14:36:05 -07:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Ryan Macnak 36d0cfced8 Triage some precompilation failures, mostly related to the service isolate no longer being started.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1855473002 .
2016-04-01 10:28:53 -07:00
Sigmund Cherem c5ae911e4e Update status on safari tests that started passing after the update.
BUG=

Review URL: https://codereview.chromium.org/1843883002 .
2016-03-29 17:37:03 -07:00
Sigmund Cherem 76a77d8b42 Skip tests in cpsir+checked mode until it is implemented
TBR=sra@google.com

Review URL: https://codereview.chromium.org/1780843002 .
2016-03-09 17:21:49 -08:00
William Hesse f5d284ca9c Update status for a slow test and a crashing test.
BUG=
R=eernst@google.com

Review URL: https://codereview.chromium.org/1768193002 .
2016-03-07 17:59:16 +01:00
William Hesse 7f9e4b7456 Update status for dart2js --cps_ir --host_checked.
BUG=https://github.com/dart-lang/sdk/issues/25911
BUG=https://github.com/dart-lang/sdk/issues/24485
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1773523002 .
2016-03-07 11:35:11 +01: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
William Hesse 15f8618c1c Update status for dart2js host-checked mode tests.
BUG=https://github.com/dart-lang/sdk/issues/25911

Review URL: https://codereview.chromium.org/1760173002 .
2016-03-03 17:29:25 +01: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
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