Commit Graph

5559 Commits

Author SHA1 Message Date
Florian Schneider e7afde47e9 Reland "VM: Handle null-comparisons in the flow graph type propagation"
This reverts commit 30a942f728.

Plus:

1. Fixes integer type propagation in the optimizer by introducing a _int64 marker interface

2. Fixes calculation of whether an instructions can deoptimize: This has to be stable so that
once determined that an instructions can't deoptimize, it will stay that way and not flip back
later in the optimization

3. Address comments to improve CompileType::CopyNonNullable()

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2772143002 .
2017-03-31 10:12:59 -07:00
Florian Schneider 5a3f9d9398 Fix a couple of bugs with async stack traces
Related to #29145.

Fixes #29199.

1. Missing source positions in async and async* functions (synthetic code)

2. Added unit tests for issues #28980 and added asyns stack trace testing flags to existing test.

3. Handle uninitialized Completer object when collecting async stack traces.

Still missing is the correct calculation of context levels in ActivationFrame::ContextLevel. This is planned for a separate CL.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2786503003 .
2017-03-30 11:02:33 -07:00
William Hesse 796c9c9002 Update dartium status for abstract_beats_arguments2_test
BUG=https://github.com/dart-lang/sdk/issues/29171
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2786453003 .
2017-03-29 16:13:16 +02:00
Kevin Millikin 4de94b2d7b Await cancellation in the Kernel await transformer
When an an async for loop's StreamIterator is canceled the returned
Future should be awaited.  Closes issue 29192.

BUG=https://github.com/dart-lang/sdk/issues/29192
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2782053003 .
2017-03-29 15:20:23 +02:00
Peter von der Ahé 695ebae97a Complain about bad operator parameters.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2782843002 .
2017-03-29 13:12:41 +02:00
Peter von der Ahé a994d0e47e Update status file after switching to multi test.
Review-Url: https://codereview.chromium.org/2782853002 .
2017-03-29 12:43:41 +02:00
Peter von der Ahé bbb20af8f9 Update test to make benefit analyzer.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2772403005 .
2017-03-29 12:29:54 +02:00
Peter von der Ahé e8a718155e Update status for precompiler.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2776353002 .
2017-03-29 10:52:32 +02:00
Peter von der Ahé 2aa0e1976d Improve semantics of parts.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2781623003 .
2017-03-29 10:48:52 +02:00
Peter von der Ahé a49bc60120 Handle complicated imports.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2780543002 .
2017-03-29 10:44:22 +02:00
Peter von der Ahé 2de7a24238 Handle complicated exports.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2776153002 .
2017-03-29 10:42:35 +02:00
Peter von der Ahé a6ba01e8aa Throw AbstractClassInstantiationError on abstract classes.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2781493002 .
2017-03-29 10:38:15 +02:00
Peter von der Ahé a91ebba200 Complain about assignments to parenthesized expressions.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2780483002 .
2017-03-29 10:28:05 +02:00
Peter von der Ahé 0b4706ce30 Make catch variables final.
Fixes https://github.com/dart-lang/sdk/issues/28410.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2775163003 .
2017-03-29 10:20:07 +02:00
Peter von der Ahé f979dad474 Complain about uninitialized const fields.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2774933002 .
2017-03-29 10:12:41 +02:00
Jens Johansen b5a7a94305 Revert "VM: [Kernel] Avoid emitting :expr_temp and capturing :iterator"
This commit caused vm-kernel-linux-debug-x64-be to become red because
service/next_through_simple_async_test failed.

This reverts commit 3d78c06412.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2777413002 .
2017-03-28 09:29:04 +02:00
Dmitry Olshansky 3d78c06412 VM: [Kernel] Avoid emitting :expr_temp and capturing :iterator
This allow us bypass allocation of Context for some sync*
function such as in Iteration.tree.syncstar benchmark.

BUG=
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2772963003 .
2017-03-27 19:22:52 +02:00
Brian Wilkerson ccf768144f More generic function type cases working
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2770143002 .
2017-03-24 08:08:23 -07:00
Peter von der Ahé 0c17ebba9f Report errors on non-final fields in const classes.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2775633004 .
2017-03-24 15:10:31 +01:00
Peter von der Ahé 91e290b610 Allow identical as a compile-time constant.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2770243002 .
2017-03-24 14:42:59 +01:00
Peter von der Ahé 62b39e746a Report compile-time error on invalid constructors.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2777533002 .
2017-03-24 14:11:32 +01:00
Jacob Richman 14531fa62d Re-land "Format all multitests"
Only delta from the original is a bad merge of tests/corelib/list_test.dart

This reverts commit 44d8be0ed3.

BUG=

Review-Url: https://codereview.chromium.org/2774783002 .
2017-03-23 12:40:21 -07:00
Jacob Richman 44d8be0ed3 Revert "Format all multitests"
This reverts commit 312b66dd5f.

BUG=

Review-Url: https://codereview.chromium.org/2770063002 .
2017-03-23 10:49:40 -07:00
Jacob Richman 312b66dd5f Format all multitests
BUG=
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2768073002 .
2017-03-23 10:26:44 -07:00
Peter von der Ahé d41b344896 Allow literal symbols as constant expressions.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2769063003 .
2017-03-23 17:42:48 +01:00
Peter von der Ahé 89bcf728f9 Clean up use of identifier context.
R=paulberry@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2769813007 .
2017-03-23 16:08:32 +01:00
Peter von der Ahé 2eca8c58c3 Various errors on constant expressions.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2765283002 .
2017-03-23 13:40:25 +01:00
Peter von der Ahé 0afdf6b44a Report error on only-try block.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2765253002 .
2017-03-23 13:02:41 +01:00
Peter von der Ahé 0087af4e3c Report compile-time errors on cyclic hierarchies.
R=karlklose@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2767633004 .
2017-03-23 12:41:04 +01:00
Peter von der Ahé 7e8639eebf Setup type and modifiers of local variables on creation.
R=karlklose@google.com, paulberry@google.com

Review-Url: https://codereview.chromium.org/2769113004 .
2017-03-23 12:19:36 +01:00
Peter von der Ahé 6f422b93fc Improve handling of complicated getters and setters.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2765943002 .
2017-03-22 10:49:03 +01:00
Peter von der Ahé d50bfcde53 Implement dynamic and void as types exported by core library.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2761173004 .
2017-03-22 10:25:08 +01:00
Jacob Richman 88eb557b65 Fix warnings_checker.dart handling of multitests
Update all tests

Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com
BUG=

Review-Url: https://codereview.chromium.org/2765693002 .
Review-Url: https://codereview.chromium.org/2765893003 .
2017-03-21 17:29:56 -07:00
Jacob Richman bf2b545150 Revert "Update all tests"
This reverts commit ce76e9c30beaf9a193d3677b88c20a1ebb3fae8c.
2017-03-21 16:33:18 -07:00
Jacob Richman 3c7353d987 Update all tests
Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2765693002 .
2017-03-21 12:39:28 -07:00
Florian Schneider ef7487a7a8 Fix two bugs with async stack traces.
1. A crash when collecting an async stack trace with inlined frames on the stack.

2. A missing source position in an async stack trace.

Fixes #29080.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2767483002 .
2017-03-21 09:31:11 -07:00
Dmitry Stefantsov 524b03fcc4 Skip closure_memory_retention_test for both 'dartk' and 'dartkp'.
TBR=ahe@google.com

Review-Url: https://codereview.chromium.org/2762143003 .
2017-03-21 16:17:03 +01:00
Jacob Richman 6a7d6c385e Add comments
Add spaces to make sure dartfmt doesn't destroy bespoke indentation

BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2763823002 .
2017-03-20 21:03:12 -07:00
danrubel d7c4cad542 align fasta.PrecedenceInfo.precedence with analyzer.TokenType.precedence
This updates fasta precedence to match analyzer:

* '!'   0  --> 15
* '~'   0  --> 15

* '--'  15 --> 16
* '++'  15 --> 16
* '.'   15 --> 16
* '?.'  15 --> 16
* '('   15 --> 16
* '['   15 --> 16

And updates analyzer precedence to match fasta:

* '--'  15 --> 16
* '++'  15 --> 16

* '[]'  16 --> 0
* '[]=' 16 --> 0

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

Review-Url: https://codereview.chromium.org/2755433004 .
2017-03-20 12:47:33 -04:00
Peter von der Ahé 8979b040ec Improve parsing of async and generator methods.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2759663002 .
2017-03-17 18:03:42 +01:00
Regis Crelier 11ef5844a8 Previous cl should have used "Crash", not "Fail".
Review-Url: https://codereview.chromium.org/2743253012 .
2017-03-16 18:47:48 -07:00
Regis Crelier e35ec2cb15 Gardening: Disable 2 flaky tests for hot reload. Issue 29094 was already filed.
Review-Url: https://codereview.chromium.org/2750393004 .
2017-03-16 18:24:16 -07:00
Peter von der Ahé c3330b1407 Complain about built-in identifiers.
R=johnniwinther@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2750863002 .
2017-03-16 11:01:27 +01:00
Regis Crelier 063dd6d03f Make sure the signature of the call method is finalized before involving it
in bound checkings of its owner class (fixes #29025).
Add regression test and mark as failing for the analyzer (issue filed).
Add missing trail argument in 2 locations (not related to the fixed issue).
Cleanup: Remove ClassFinalizer::kCanonicalizeWellFormed which is not treated
differently than ClassFinalizer::kCanonicalize anymore after earlier changes in
the spec on how to handle malformed types.

R=asiva@google.com, hausner@google.com

Review-Url: https://codereview.chromium.org/2755723003 .
2017-03-15 16:44:33 -07:00
Peter von der Ahé 99fa028982 Handle 'part of' declarations with URI correctly in Fasta.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2747173002 .
2017-03-15 15:11:36 +01:00
Peter von der Ahé 626987ef5c Add default type arguments on Supertype as well.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2746763003 .
2017-03-15 14:05:08 +01:00
Peter von der Ahé 4f6d58fc50 Implement nested switches and missing switch continue targets.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2746923002 .
2017-03-13 13:52:39 +01:00
Peter von der Ahé 26e02ca235 Update status files for bad_raw_string_test.
Fixes https://github.com/dart-lang/sdk/issues/28680

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2743943002 .
2017-03-13 13:45:05 +01:00
Peter von der Ahé 36a0d8cf30 Reject non-local jumps.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2739203006 .
2017-03-13 13:40:44 +01:00
Peter von der Ahé e12e5350b1 Correctly handle abstract non-sync methods.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2743963002 .
2017-03-13 13:33:37 +01:00