Commit graph

1059 commits

Author SHA1 Message Date
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
Stephen Adams 444499020b More pkg.status tests from analyzer that are slow
TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/1531973002 .
2015-12-16 16:15:47 -08:00
Stephen Adams f264e5291c analyzer declaration_resolver_test is slow on dart2js
It is hovering around 55s, so times out too often.

TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/1528133002 .
2015-12-15 12:27:10 -08:00
Paul Berry 1e0f112666 Update pkg.status to work around https://github.com/dart-lang/http_parser/issues/6
TBR=nweiz@google.com

Review URL: https://codereview.chromium.org/1513643011 .
2015-12-10 11:18:27 -08:00
Paul Berry 1c3fa08ca6 Update pkg.status to account for dart_style roll.
The dart_style roll fixed the remaining tests that were broken by the
merge of analyzer-breaking-0.27.

Fixes #25173.

TBR=rnystrom@google.com

Review URL: https://codereview.chromium.org/1514553003 .
2015-12-09 07:10:14 -08:00
Paul Berry b55257975b Update pkg.status file for library_member_contributor_test
This newly introduced test currently fails on the analyzer buildbot due
to transitive import dependencies on
dart_style/lib/src/dart_formatter.dart and
dart_style/lib/src/source_visitor.dart, which have known warnings.

TBR=danrubel@google.com

Review URL: https://codereview.chromium.org/1504713007 .
2015-12-08 13:16:25 -08:00
Paul Berry 89f475a5f2 Update pkg.status to account for linter roll.
The linter roll fixed 7 tests.

See bug #25173.

TBR=pquitslund@google.com

Review URL: https://codereview.chromium.org/1508153002 .
2015-12-08 11:47:58 -08:00
Paul Berry 2698fb583a Update pkg.status to account for recent analyzer breakages.
See bug #25173.

TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1510873003 .
2015-12-08 10:38:56 -08:00
pq 968617b67a Status file update (vm only tests SkipByDesign).
Follow-up to https://codereview.chromium.org/1464833002/.

Rather than ignore, mark as `SkipByDesign` as CLI tests are designed for the VM.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1463593003 .
2015-11-20 10:19:29 -08:00
pq 8b6fb86397 Status file updates (analyzer_cli on dart2js).
We're hitting an issue that on the surface looks like the one discussed in https://github.com/dart-lang/sdk/issues/24914 (compilation time-outs).

This status file update gets us moving pending further investigation.

Aside: I'm using the big glob hammer here since we're certain to see more failures as we re-enable cli tests moving forward.

R=paulberry@google.com

Review URL: https://codereview.chromium.org/1464833002 .
2015-11-20 09:18:06 -08:00
William Hesse ebf8830dd2 Mark analyzer summary_test as slow.
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org//1435893005 .
2015-11-13 17:49:04 +01:00
Paul Berry ca2721b5b4 Disable codegen test on browsers, since it uses dart:io
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org/1414073006 .
2015-11-04 13:12:02 -08:00
William Hesse b1ee818ba8 Update status for slow analyzer tests.
Alphabetize and combine status file sections.

BUG=dartbug.com/21628
R=wibling@google.com

Review URL: https://codereview.chromium.org/1424483003 .
2015-11-03 11:39:15 +01: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
Asger Feldthaus 3634c3998a dart2js: Bugfix for when 'await' occurs in an initializer list.
If the JS ast contains an initializer list:

  var x = foo(), y = await x;

It would be retained as a single statement and generate invalid output
that awaits 'x' before it has been defined.

CLOSES=23997

BUG=
R=sigurdm@google.com

Review URL: https://codereview.chromium.org/1427593003 .
2015-10-27 11:36:57 +01:00
Paul Berry c5f4af4df6 Rework task model graphing to work on buildbots.
This CL reworks the task model grapher (formerly at
pkg/analyzer/tool/task_dependency_graph.dart, now at
pkg/analyzer/tool/task_dependency_graph/generate.dart) so that it
works similarly to the code generation in the analysis server.
Namely, the output file is stored in source control
(pkg/analyzer/tool/task_dependency_graph/tasks.dot), and a test run by
the buildbots verifies that it is up to date.  If it is not, the test
outputs the command necessary to update it.

This carries the benefit that:

- Anyone with access to an installation of graphviz can generate the
  task model graph easily from its .dot file.

- Any time a change occurs that affects task model dependencies, a
  test failure will prompt us that we need to generate a new .dot
  file.

- If a change ever occurs that breaks the ability of the task
  dependency grapher to produce the graph, a test failure will prompt
  us.

The downside is that when making a change that affects task model
dependencies, it is now necessary to re-run the script
pkg/analyzer/tool/task_dependency_graph/generate.dart to avoid a test
failure.

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

Review URL: https://codereview.chromium.org/1408743006 .
2015-10-19 09:24:18 -07:00
William Hesse 874a1e0119 Update status for analysis_server tests.
BUG=https://github.com/dart-lang/sdk/issues/24597
R=paulberry@google.com

Review URL: https://codereview.chromium.org/1402873005 .
2015-10-15 16:39:58 +02:00
William Hesse 6c8a1a7f87 Increase timeout for analysis_server tests in debug mode.
BUG=https://github.com/dart-lang/sdk/issues/24596
BUG=https://github.com/dart-lang/sdk/issues/24597
R=ricow@google.com

Review URL: https://codereview.chromium.org/1399243006 .
2015-10-15 15:08:40 +02:00
Asger Feldthaus c4b418a2c3 dart2js cps: Updated status file for host-checked mode.
BUG=

Review URL: https://codereview.chromium.org/1402943003 .
2015-10-13 15:31:40 +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
keertip 18b68f7290 remove docgen remnants from repo, update CHANGELOG
BUG=
R=alanknight@google.com, whesse@google.com

Review URL: https://codereview.chromium.org//1361163002 .
2015-09-23 10:27:15 -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
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
Sigmund Cherem 1f349aeaef Skip lookup map tests in dartium
TBR=sra@google.com

Review URL: https://codereview.chromium.org//1323143007 .
2015-09-04 16:28:29 -07:00
Sigmund Cherem f348b8b01c Add version validation for LookupMap, also add unittest directly in LookupMap (take 2)
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org//1308993008 .
2015-09-04 14:24:26 -07:00
Sigmund Cherem 9b8c06d225 Revert "Add version validation for LookupMap, also add unittest directly in LookupMap."
This reverts commit fc582d7a3d due to lots of redness

TBR=sra@google.com

Review URL: https://codereview.chromium.org//1318003006 .
2015-09-04 14:05:41 -07:00
Sigmund Cherem fc582d7a3d Add version validation for LookupMap, also add unittest directly in LookupMap.
R=sra@google.com

Review URL: https://codereview.chromium.org//1312943007 .
2015-09-04 13:59:50 -07: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
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
Johnni Winther 6631698ee8 Mark long running analyzer tests as slow for dart2js.
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org//1296243006.
2015-08-18 11:46:59 +02:00
Asger Feldthaus 0210c5c035 dart2js cps: Fix treatment of captured type variables.
CLOSES=24064
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1286113003.
2015-08-13 13:35:50 +02:00
Karl Klose bafb8fb191 dart2js cps: Support async/await by rewriting the JavaScript AST.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1253333002 .
2015-08-07 11:27:40 +02:00
Florian Loitsch 277bfc3355 Update status files.
Review URL: https://codereview.chromium.org//1269023006 .
2015-08-04 14:16:14 +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
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 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
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: 2890a7a2a9

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: 4a1e6c7966

Reverted: 382319fe70

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