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