Commit Graph

1421 Commits

Author SHA1 Message Date
Florian Loitsch 1b372b8fe5 Mark another analyzer test as slow.
Review URL: https://codereview.chromium.org//1226043002 .
2015-07-08 17:03:01 +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
Paul Berry db6c95502a Work around naming conflict in analyzer's Resource class.
Commit f8ce36df55 introduced an SDK
class called "Resource", causing warnings to appear in any files that
reference the analyzer class with the same name.  (Fortunately there
was no regression in functionality since the spec requires the name
conflict to be resolved in favor of the definition that is outside the
SDK).

As a short term workaround to avoid the warnings, we are explicitly
importing 'dart:core' and hiding the new Resource class.  In a future
CL, we plan to rework analyzer's Resource class in order to make some
changes necessary for ".packages" file support; when that happens we
will probably rename the class to avoid the name conflict.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1215753003.
2015-06-26 13:00:44 -07:00
Lasse R.H. Nielsen f8ce36df55 Add Resource class. Currently unimplemented.
R=herhut@google.com, iposva@google.com

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

Review URL: https://codereview.chromium.org//1181663002.
2015-06-26 11:42:02 +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 b9192ab9e2 dart2js CPS: Support try/catch/finally.
Support try/catch/finally by pretending it is macro-expanded into
try/catch and try/finally:

    try S0 catch (ex, st) S1 finally S2
    ==>
    try { try S0 catch (ex, st) S1 } finally S2

The duplicated code for try/catch and try/finally is abstracted into a
function parameterized over translations for all the parts that
differed.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1207703002.
2015-06-24 17:13:15 +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
Asger Feldthaus 56158b54a1 dart2cps: Fix bug in constructors.
When visiting another constructor, the visitor must use another tree elements mapping (and source file info).

BUG=
R=floitsch@google.com

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

Reverted: https://github.com/dart-lang/sdk/commit/382319fe701021ecfa1e9faa37ef3ac589876007

Review URL: https://codereview.chromium.org//1200823002.
2015-06-23 10:55:02 +02:00
Asger Feldthaus 382319fe70 Revert "dart2cps: Fix bug in constructors."
This reverts commit 4a1e6c7966.

TBR=floitsch@google.com

BUG=

Review URL: https://codereview.chromium.org//1195393005.
2015-06-22 19:35:24 +02:00
Asger Feldthaus 4a1e6c7966 dart2cps: Fix bug in constructors.
When visiting another constructor, the visitor must use another tree elements mapping (and source file info).

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1200823002.
2015-06-22 17:53:47 +02:00
Kevin Millikin 7a853ca634 Fix a bug in dart2js's shrinking reductions.
When a term is deleted, the algorithm searches for new redexes created
by the term's deletion.  Continuation beta redexes search up the term
between the redex and the continuation's binding to ensure that the
continuation is not moved into the scope of an exception handler.

This search fails if it first encounters the root of the deleted
subterm (i.e., the newly-created redex is in the deleted term).  Just
ignore the redex in that case, since the term is being deleted.

Also, update some triaged test expectations with their bug numbers.

R=asgerf@google.com

Review URL: https://codereview.chromium.org//1196323002.
2015-06-22 16:50:48 +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 684214af2b Mark more analyzer tests as slow.
R=whesse@google.com, brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1190313002.
2015-06-19 13:03:03 +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 e5b0034f69 Mark pkg/analyzer/test/src/context/context_test as Timeout on dart2js.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1193513003.
2015-06-17 11:03:56 +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
Karl Klose 6cffe227fe Update dart2js-cps_ir test expectations after bac7481d3d.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1171773004.
2015-06-09 15:12:18 +02:00
pq 2c5e890fc7 Build fixes.
Long tail of fixes related to moving out of `pkg_tested`.

R=paulberry@google.com

Review URL: https://codereview.chromium.org//1162423002
2015-06-03 14:03:15 -07:00
Karl Klose 95a46fb177 Adjust cps_ir test expectations.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1167673009
2015-06-02 11:26:26 +02:00
Asger Feldthaus a498d811e6 Skip analyzer2dart tests.
BUG=
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1151533003
2015-05-27 14:13:03 +02:00
Karl Klose 36d3e0d0e6 Update cps-ir test expectations.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//1152133003
2015-05-22 09:58:58 +02:00
Natalie Weizenbaum e7a1c3c585 Remove the core library stubbing infrastructure.
This hasn't been used in a long time. It's just clutter now.

R=ahe@google.com

Review URL: https://codereview.chromium.org//1134583005
2015-05-18 12:42:36 -07: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
asgerf@google.com 9630163eaf dart2js cps: Handle error cases.
A new IR node CreateInvocationMirror has been introduced, which is
needed for creating calls to noSuchMethod. The main reason for this node
is that the JS constructor for Invocation objects require the internal
(minified) name of the target, which the builder does not know.
I don't think the IR pipeline should depend on the Namer, so the IR node
is preserved all the way to codegen.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45678 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 09:06:12 +00:00
kmillikin@google.com 6ab3c55366 Fix an assertion failure in dart2js.
In the CPS translation we assert that a mutable variable added to the CPS
term belongs to the function currently being compiled, which is reasonable.
However, in the JS backend this didn't work as written.  The variable
element can report that it belongs to a Dart function, and the function
currently being compiled can be a synthesized .call method of a closure
class representing that Dart function.

The solution presented here is to plumb the mapping from Dart function to
closure class .call methods through to where the mutable variables are
created.  It might be better, but a lot more complicated, to make the
variable elements able to correctly report their owner after closure
conversion.

R=asgerf@google.com, karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45636 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 08:58:00 +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
kevmoo@google.com cc78dfeaee remove pkg/mock
Moved to https://github.com/dart-lang/mock

R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45442 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-28 20:46:31 +00:00
nweiz@google.com 70a846ad6c Update pubspecs and dependencies to get pkgbuild tests working.
This also removes the vendored copy of Angular, which was an outdated version of
an unstaffed branch.

R=pquitslund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45410 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 20:08:53 +00:00
karlklose@google.com e8fa15c30a Update dart2js-cps_ir test expectations.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45371 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 08:40:49 +00:00
pquitslund@google.com 49d0f16a2a Analyzer CLI removal.
CLI now lives in dedicated `analyzer_cli` package.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45362 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:32:05 +00:00
karlklose@google.com 7dd2608820 Adjust test expectations for dart2js-cps-ir.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45236 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 11:45:51 +00:00
zra@google.com 86bfd7cb30 Adds a simarmv5te build and test target.
Also:
- Removes command line flags to choose simulated arm version.
  I think we should use build targets instead, like in this change,
  to make building and testing more obvious.
- Skips pkg tests on all simulators.

R=regis@google.com, ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45181 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:44:43 +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
zra@google.com 34044a4ca8 Adds armv5 build and test target.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44828 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 23:11:33 +00:00
whesse@google.com 745b6809e9 Update test status for flaky tests.
BUG=dartbug.com/22695, dartbug.com/22896
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44557 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-18 12:45:50 +00:00
ricow@google.com 2d558d3c79 Skip dart integration tests on vm debug mode
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44448 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 07:50:44 +00:00
johnniwinther@google.com 5130b19fb7 Fix warning in analyzer2dart.
BUG=http://dartbug.com/22418
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44230 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-04 13:20:48 +00:00
kevmoo@google.com be8aca929d Move more tests to SkipByDesign
R=whesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43977 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-23 21:31:12 +00:00
scheglov@google.com 01126e0213 Issue 22492. Increase number of event pumping cycles.
I'm not sure if it is going to fix the problem.
I cannot reproduce it with x86 release build on Win7.
But that's the best guess I have.

R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22492

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43922 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-20 18:35:06 +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
iposva@google.com 6bb78fd867 - Mark flaky test.
Review URL: https://codereview.chromium.org//937113003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43881 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 16:55:54 +00:00