Commit Graph

195 Commits

Author SHA1 Message Date
Bob Nystrom cb7aa02116 Type check for-in statements.
This does nominal checking on the iterable expression used in a for-in
statement:

1. It must implement Iterable.
2. The type argument to Iterable must be assignable to the variable's
   type.

R=brianwilkerson@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/1771153002 .
2016-03-08 11:25:49 -08: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
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
Kevin Millikin 65ae116a01 dart2js: CPS translation of switches with continue to their labels.
Implement switches with continue to their labels by a first 'non-recursive'
switch followed by a second (only) 'recursive' switch inside a loop.
Continue is implemented by assignment to a state variable that the second
switch switches over.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1585503002 .
2016-01-26 09:43:13 +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
Sigmund Cherem 05ce49f009 stop skipping dummy_compiler_test: the test appears to be passing.
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1513653006 .
2015-12-10 14:39:30 -08: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 b1ee63a715 dart2js: Mark source_mirrors_test as slow
BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1361133004 .
2015-09-25 18:30:21 +02:00
Terry L. Lucas c5a690fa26 Revert "Mark tests problems because of Dartium JSInterop"
This reverts commit d1a7ee9ad7.

TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1355683005 .
2015-09-18 11:00:54 -07:00
Terry L. Lucas d1a7ee9ad7 Mark tests problems because of Dartium JSInterop
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org//1358503002 .
2015-09-18 09:37:37 -07:00
Kevin Millikin 8d96919609 dart2js CPS: Mark a test that sometimes times out.
R=asgerf@google.com
BUG=

Review URL: https://codereview.chromium.org//1343383002 .
2015-09-16 14:01:27 +02:00
Karl Klose 2a137d16db dart2js cps: Fix performance issues in optimization passes.
Type propagation, shrinking reductions, and let sinking each took
more than 2 minutes on a stress test, where now they take a few
seconds.

Huge hash tables (Map/Set) were a big problem, especially when used as
worklists.

Let sinking had an issue with a linear-time search for the enclosing
continuation of an expression. This has been replaced with a visitor
state.

The stress test was:

  tests/co19/src/LibTest/collection/ListBase/ListBase_class_A01_t02

This was only slow because negative constants get translated to
intercepted calls. That itself should be fixed, but the IR should
still be able to handle the stress.

The change in shrinking reductions altered the redex priority from
FIFO to LIFO which has a negative effect on code quality in
unwrapException (in any test case with a try/catch). It seems like
an existing issue that has surfaced.

Since I am going on vacation, I ask that someone would please
commit this on my behalf (assuming things are looking good).
--asgerf

BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1252883003 .
2015-07-27 12:12:06 +02:00
Karl Klose 52f0390b68 dart2js cps: Update test expectations after 6b36c8acc6.
TBR=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1232133002 .
2015-07-10 14:19:10 +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
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
Karl Klose a120ee7c90 cps-ir: Support foreign code.
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1185633003.
2015-06-18 13:09:50 +02:00
Karl Klose bb45376735 Update dart2js-cps_ir status files.
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1191433002.
2015-06-15 12:50:58 +02:00
Karl Klose e4b56654ff Update dart2js-cps_ir test expectations with better annotations.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1181613003.
2015-06-11 10:56:56 +02:00
karlklose@google.com 9b32c9e673 Implement raw list checks.
R=asgerf@google.com

Review URL: https://codereview.chromium.org//1123343008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45762 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 11:58:45 +00:00
asgerf@google.com f5f1eb643d dart2js cps: Introduce GetStatic/SetStatic.
The GetStatic is used for reading static fields and tearing off
static methods.

Invoking a static getter/setter (not from a field) is still an
InvokeStatic, which IMO is the way it should remain.

BUG=
R=karlklose@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45735

Reverted: https://code.google.com/p/dart/source/detail?r=45737

Review URL: https://codereview.chromium.org//1134063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45738 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 14:19:40 +00:00
asgerf@google.com 961c805398 Revert "dart2js cps: Introduce GetStatic/SetStatic."
This reverts commit 28e4518df87c72cb8e23fe6d73b7750ad0f2183a.

TBR=karlklose@google.com

BUG=

Review URL: https://codereview.chromium.org//1136523008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45737 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 13:53:15 +00:00
asgerf@google.com 2c90643171 dart2js cps: Introduce GetStatic/SetStatic.
The GetStatic is used for reading static fields and tearing off
static methods.

Invoking a static getter/setter (not from a field) is still an
InvokeStatic, which IMO is the way it should remain.

BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//1134063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45735 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 13:35:49 +00:00
karlklose@google.com 0eaa4d4717 cps-ir: Support compilation of methods that use interceptor calling convention.
This is a modified version of sra@'s CL https://codereview.chromium.org/1020243002/ with kmillikin@'s comments addressed.

R=sigurdm@google.com, kmillikin@google.com

Review URL: https://codereview.chromium.org//1109403002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45680 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 12:38:14 +00:00
ricow@google.com e92f697236 Remove dart2dart support from testing scripts and status files
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)

R=kustermann@google.com, floitsch@google.com, kmillikin@google.com
BUG=

Review URL: https://codereview.chromium.org//1126363003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +00:00
karlklose@google.com d839c64766 Establish test expectations for dart2js running with the CPS based backend.
R=ricow@google.com

Review URL: https://codereview.chromium.org//1089113003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45162 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 11:44:02 +00:00
sigurdm@google.com c8680b6a22 Mark tests that crashes in host-checked mode
BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//998323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44433 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-12 15:25:57 +00:00
karlklose@google.com 3fb9f53b51 Update new dart2dart test expectations.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//989123007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44362 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-10 09:34:24 +00:00
floitsch@google.com 27a30ee1de dart2js: Support isDeferred on DependencyMirrors.
BUG= http://dartbug.com/22475
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//924393003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43905 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-20 10:37:44 +00:00
paulberry@google.com dffb8c8a68 Status updates for issue 22475.
TBR=rmacnak@google.com

Review URL: https://codereview.chromium.org//938593004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43843 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 15:18:39 +00:00
kevmoo@google.com 4cc4e28411 status files: trying out new SkipSlow flag
and selectively used SkipByDesign in more places

R=whesse@google.com

Review URL: https://codereview.chromium.org//928523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43815 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 17:21:39 +00:00
whesse@google.com 247ff772d6 Update status files, replace "dartbug.com" with "Issue ".
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//845793004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42900 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 10:27:11 +00:00
ricow@google.com 5e9f1be94c Roll v8 deps to version 3.26.31.10
Remove suppression for source mirrors tests that was flaky before

R=kasperl@google.com

Review URL: https://codereview.chromium.org//374883003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38057 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-08 12:34:55 +00:00
ricow@google.com 6c25ff971f Mark utils/source_mirrors_test as flaky on dart2js-d8
Filed issue 19874 to track this

Review URL: https://codereview.chromium.org//374053003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38053 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-08 08:27:05 +00:00
zra@google.com ec903e2d19 Updates status files for content shell on Android.
Review URL: https://codereview.chromium.org//377583002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38026 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-07 15:59:22 +00:00
whesse@google.com 5720b9be2c Update Android content_shell test status.
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//362323002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37944 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-02 12:29:07 +00:00
vsm@google.com 79ac5d3615 Mark tests as passing
These tests are fixed once: https://chromiumcodereview.appspot.com/350653002/
is landed.

BUG=17662
R=ahe@google.com

Review URL: https://codereview.chromium.org//350663002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37641 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-24 07:20:57 +00:00
ahe@google.com 76b86b10b3 Cover all browsers
R=vsm@google.com

Review URL: https://codereview.chromium.org//343153002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37546 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 12:50:06 +00:00
ahe@google.com d888d146af Fix typo
Review URL: https://codereview.chromium.org//345053003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37544 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 12:41:52 +00:00
ahe@google.com bca9120a04 Update status due to issue 17662.
R=vsm@google.com

Review URL: https://codereview.chromium.org//344173002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37542 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 12:36:29 +00:00
zra@google.com 4a7e022d97 Adds intrinsics for arm64.
Also enables tests that no longer time-out.

R=regis@google.com

Review URL: https://codereview.chromium.org//285403004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36330 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-19 21:35:32 +00:00
zra@google.com 2f7cf531a0 Adds javascript overflow checking to arm64.
Also skips a test for timing out on the bot.

R=regis@google.com

Review URL: https://codereview.chromium.org//288993003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36232 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-15 17:38:13 +00:00
zra@google.com a048bdf09a Skips timing-out test on simarm64.
Review URL: https://codereview.chromium.org//274323003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36179 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-14 18:00:04 +00:00
zra@google.com 03f2f289b4 Adds Math Min/Max to arm64.
Also fixes bugs and enables tests.

R=regis@google.com

Review URL: https://codereview.chromium.org//284843004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36116 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-13 18:10:16 +00:00