Commit graph

52786 commits

Author SHA1 Message Date
Peter von der Ahé ce655bc2ff Print the URI, not t.dart
Change-Id: I03b28f60622f34f19d2e5ce6428e6d696f505331
Reviewed-on: https://dart-review.googlesource.com/28600
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé 728a1770c4 Ensure edits of main are correctly detected
Change-Id: Ic7cf4f09c001d6a1d3b3a84fc3ead794f7530b09
Reviewed-on: https://dart-review.googlesource.com/28306
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé 690b8865f5 Compute dependencies instead of strong components
Change-Id: I1d20ffc26951669391eaa2a67c02932a264d5eb1
Reviewed-on: https://dart-review.googlesource.com/28305
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé 32673d01c5 Add missing type variables to interface
Change-Id: I6c3d07d7b1adf145da54d24081e5238ce3a07624
Reviewed-on: https://dart-review.googlesource.com/28303
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé c9026e446e Pass offset to buildSupertype
Change-Id: I4a1cf524e7edbb9bc8d435fbea8a6b4eb440a077
Reviewed-on: https://dart-review.googlesource.com/28302
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé 08aa7e9114 Add context for override warnings
Change-Id: Icc53b580fddae02fa07341a004dc602db612dc0a
Reviewed-on: https://dart-review.googlesource.com/28301
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé a12ebf65e3 Add context to ClassBuilder diagnostics API
Change-Id: I823a800293b059857895bf38698fca487323e4f2
Reviewed-on: https://dart-review.googlesource.com/28300
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé cac6551376 Always clear StringToken canonicalizer after running Fasta
Change-Id: If994a644c2089e3e9cb57232baceb6b622106d19
Reviewed-on: https://dart-review.googlesource.com/28282
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé a70aba8efc Add ikg-variant constant to pick Fasta
Change-Id: I0826e32f4820a9c4ccb86c47b7cd8114320ae649
Reviewed-on: https://dart-review.googlesource.com/28281
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-12 12:22:37 +00:00
Peter von der Ahé affb2c9321 Use existing tests of DependencyWalker
Change-Id: If870792d24757d020c5724ab79e8972be4bd679b
Reviewed-on: https://dart-review.googlesource.com/27722
Reviewed-by: Jens Johansen <jensj@google.com>
2017-12-12 12:22:37 +00:00
Vyacheslav Egorov efca9c69ab [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Reland of https://dart-review.googlesource.com/27820

Change-Id: I49400fae716f75425e70bf1e561b3375ba39157e
Reviewed-on: https://dart-review.googlesource.com/28565
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 12:19:10 +00:00
Peter von der Ahé 31b512faa2 Implement reusing libraries not affected by invalidated URIs
Change-Id: I2fbb6daaa8fe6ca5b136c639194ec49ae31c385f
Reviewed-on: https://dart-review.googlesource.com/27721
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-12-12 11:26:10 +00:00
Jens Johansen 0ae908f66f [DDC] Fix problem occurring when an async* stream is paused at the end of a yield*
This CL copies the fix for the VM
(https://codereview.chromium.org/2297013003, committed as
8a70e46d76 ~1 year ago) to DDC.

Bug:
Change-Id: I7244de9ae891ee1eb8f58d3921cf996bcfdb60b4
Reviewed-on: https://dart-review.googlesource.com/28220
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-12 11:14:20 +00:00
Alexander Thomas 68bbe83132 [Infra] Add -rnone to ensure DDC kernel custom scripts don't use xvfb
TBR=whesse@google.com

Change-Id: I0e670e5b48fb0c4abe23c789344f2e2ea22ae667
Reviewed-on: https://dart-review.googlesource.com/28564
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2017-12-12 10:45:12 +00:00
Aske Simon Christensen 8cfe626e31 When runtime == none, treat MissingRuntimeError and Timeout as Pass.
9f966d5b80
introduced treating RuntimeError as Pass when there is no runtime.
This change additionally treats MissingRuntimeError and Timeout as
Pass, as these results also don't make sense when the code is not run.

Change-Id: Icebc5f4ffa8fe189aa822f2ce063a44e517380f5
Reviewed-on: https://dart-review.googlesource.com/28200
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-12-12 10:17:13 +00:00
Martin Kustermann 317c55fa2c Reland "Use batch mode compilation for -cdartkp --strong"
Preliminary testing shows, this increases performance by around 20%. The
main benefit is by re-using a warmed-up VM and not start one from
scratch for every compilation.

Going forward we can do more optimizations, e.g. reading the platform
dill file only once into memory (instead of repeatedly) ...

  => This requires us using the new state-full IKG compiler.

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I2d3448783fc118611baf4671187a897227a65a6c
Reviewed-on: https://dart-review.googlesource.com/28400
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 10:14:20 +00:00
Alexander Thomas 6538cb9004 [Infra] Fix broken DDC buildernames in test matrix caused by bad merge
TBR=whesse@google.com

Change-Id: I59f298aef3f280b10a6eb4f495c73adab76128ff
Reviewed-on: https://dart-review.googlesource.com/28561
Reviewed-by: Alexander Thomas <athom@google.com>
2017-12-12 08:59:01 +00:00
Alexander Thomas bdd88891b9 [Infra] Move runtime into DDC builder names
This makes it easier to add other runtimes later.

Change-Id: I90dfd9c404167eff880eed00933ffea212ccdef2
Reviewed-on: https://dart-review.googlesource.com/27942
Reviewed-by: William Hesse <whesse@google.com>
2017-12-12 08:11:12 +00:00
Johnni Winther 59106e8f55 Fix crashes caused by inlining
Change-Id: I7fef190a4b5248f1508f0122c5dcb5ee7fdc4c40
Reviewed-on: https://dart-review.googlesource.com/27940
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-12 08:07:29 +00:00
Karl Klose 7b2678bd17 Fix paths in sdk/bin/dartdevk.bat
R=jensj@google.com

Change-Id: I3690674bf334f257b78916b88813d220330c72af
Reviewed-on: https://dart-review.googlesource.com/27761
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2017-12-12 06:51:27 +00:00
Jens Johansen 87b66d6ac4 [DDC-kernel] Update status file
Remove obsolete -rnone failures (so -rnone passes again).

Bug:
Change-Id: Ibc0d4b3d0a71fbfb3ab5bd24c48325560499d95a
Reviewed-on: https://dart-review.googlesource.com/28160
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Karl Klose <karlklose@google.com>
2017-12-12 06:49:56 +00:00
Konstantin Shcheglov b427e02609 Apply resolution to (real) redirecting constructors.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I6993d549b9b8a459923fa3d72eace63e93cff1cd
Reviewed-on: https://dart-review.googlesource.com/28460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-12 05:46:06 +00:00
Bob Nystrom 7600fc5bfa Fix status of a Safari test.
Bug:
Change-Id: Iccfe08317e931b90948b4eeac08f94f3e5984fe3
Reviewed-on: https://dart-review.googlesource.com/28522
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-12-12 02:04:40 +00:00
Bob Nystrom 3d35875082 Clean up the multitest code.
I had a few minutes while waiting on a build. :)

Change-Id: I8683b7076040c2a4757665ecd6efd9e415d49660
Reviewed-on: https://dart-review.googlesource.com/28000
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-12 01:30:59 +00:00
Brian Wilkerson 3be5621449 Handle method invocations that cannot be resolved because of missing type information
Change-Id: I07f22964b07f38fee37ab28ff205f227f50b3024
Reviewed-on: https://dart-review.googlesource.com/28500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-12 01:23:33 +00:00
Bob Nystrom 3eb5054adc Remove unused lib_strong status file.
The lib_strong directory is gone gone gone.

Change-Id: I114d9f9bab65356320e0dc20aced1dabba4abb7c
Reviewed-on: https://dart-review.googlesource.com/28480
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-12-12 01:22:54 +00:00
Ryan Macnak 78bea4a38e Nits for "[vm] Move the info_array for ObjectPool inline."
Change-Id: I6d05c0ad6d76526b6d8061244142309164c0b5d3
Reviewed-on: https://dart-review.googlesource.com/28360
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-12 01:11:53 +00:00
Bob Nystrom a53e4dd504 Finish migrating stuff out of lib_strong.
Some of these are data files that weren't picked up by the migration
script. Some are files that slipped between blocks of tests.

Change-Id: I184dc4701758b280444d54ec55c225ade30f3276
Reviewed-on: https://dart-review.googlesource.com/26423
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-12-11 23:45:23 +00:00
Konstantin Shcheglov b8b9073e24 Fix for named arguments for InstanceCreationExpression.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ie9433fdd0f1ea2dfd65fa6bd1f44b9356d0a402e
Reviewed-on: https://dart-review.googlesource.com/28364
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-12-11 22:50:33 +00:00
Brian Wilkerson fbe4151da4 Handle member references that cannot be resolved because of missing type information
Change-Id: I3599846476c082a533882f6d8d18e1adeb70fa3c
Reviewed-on: https://dart-review.googlesource.com/28383
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 22:21:53 +00:00
Konstantin Shcheglov d58e9735bc Apply resolution to 'dynamic' type literal.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I5ca078942c4841f7df8c66261acab3d103cefece
Reviewed-on: https://dart-review.googlesource.com/28365
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 21:52:53 +00:00
Konstantin Shcheglov 5c580dbe21 Remember explicit static get/assign Class and offset.
Revert merging ResolutionApplier with ValidatingResolutionApplier.

Bug:
Change-Id: Ie55ebdcb5d63be26720156a28a68f2727ebc96d3
Reviewed-on: https://dart-review.googlesource.com/28380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 21:46:13 +00:00
Brian Wilkerson fcfdb8a4d5 Replace TokenStreamRewriter.insertToken with insertTokenAfter
Change-Id: I110099eaf0db7f4b09a8225ffaf674e132ce3d43
Reviewed-on: https://dart-review.googlesource.com/28260
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-12-11 21:24:53 +00:00
Paul Berry 7b9025b407 Report errors when type inference fails due to a circularity.
Change-Id: I48e75d86140483d5f3b9c3ad17e47fe2dfdb722e
Reviewed-on: https://dart-review.googlesource.com/28361
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 21:24:13 +00:00
Ryan Macnak ac966ba4c3 Split planning and sliding in the compactor.
With forwarding blocks fully computed before sliding, we can update pointers as we slide.

Towards parallel compaction.

Reduces compaction time in dart2js hello (without marking):
33036 us -> 30685 us (-7.1%) N=10

Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: Ied800ea60233bc8a87880f92092ee078a95be2e5
Reviewed-on: https://dart-review.googlesource.com/27781
Reviewed-by: Erik Corry <erikcorry@google.com>
2017-12-11 21:16:52 +00:00
Vyacheslav Egorov e84fa65696 Revert "[vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration."
This reverts commit 50865e9387.

CQ on Mac is broken.

TBR=kustermann@google.com

Bug:
Change-Id: I41a7cab59c076dba4f25f5904725cca5bb4619c9
Reviewed-on: https://dart-review.googlesource.com/28420
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 21:07:43 +00:00
Alexander Markov 0352170a8f [VM] Avoid depending on --kernel-binaries if .dill file is specified
If a .dill file is specified on the VM command line (dart/dart_bootstrap),
and --kernel-binaries is not specified, then this dill file is used as
the source of platform libraries.

It supports the case of AOT-compiling a self-contained .dill file.

Change-Id: I42956a20b98958b9a2440f156fbbef17bfc359f8
Reviewed-on: https://dart-review.googlesource.com/24341
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 20:53:46 +00:00
Konstantin Shcheglov bc836ba30e Triage comment failing comment references tests as a FastaProblem.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/31604
Change-Id: I9750673cae3287e3d13534d549c8fec01263b6a7
Reviewed-on: https://dart-review.googlesource.com/28363
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-11 19:11:09 +00:00
Alan Knight af0b27480a Revert "Use batch mode compilation for -cdartkp --strong"
This reverts commit 8c38a415de.

Bug:
Change-Id: I1b159f2d2d10b51ee843a2ba9a61feb339152338
Reviewed-on: https://dart-review.googlesource.com/28362
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 18:22:49 +00:00
Brian Wilkerson b0d520314e Run tests with previewDart2 enabled and update failure list
Change-Id: I580545037a820e37fe22288177b289371c6ce645
Reviewed-on: https://dart-review.googlesource.com/28320
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 17:57:23 +00:00
Paul Berry 1c6e907fc8 Report errors when type inference fails due to inconsistent overrides.
I will have a follow-up CL to cover type inference failures due to
circularities.

Change-Id: I8c9af501c150d4707ad06e6bbcdc3cabdfbf9207
Reviewed-on: https://dart-review.googlesource.com/28180
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2017-12-11 17:02:45 +00:00
Konstantin Shcheglov 0fb3ff477f Issue 31589. Return only unique top-level declarations.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/31589
Change-Id: Ife9c607071bba90afb04ceb828203664fab49861
Reviewed-on: https://dart-review.googlesource.com/28122
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 16:54:33 +00:00
Vijay Menon 8602a8446e Fix LazyJsType check
This type is used for JS instanceof checks.  dart.dynamic doesn't work for that.  In general, this fall back looks dodgy (with or without this change), but this unblocks an internal user.

Change-Id: Id7401bbbef1aeddd93f40932b84f1928b4238edb
Reviewed-on: https://dart-review.googlesource.com/28121
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
2017-12-11 16:51:48 +00:00
Dan Rubel 6b73954d6c Update popList to remove popped values from the stack
Change-Id: I0d6f9a2550c7b49e06e4b18ad3473f679f85d377
Reviewed-on: https://dart-review.googlesource.com/28080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-11 16:15:21 +00:00
Martin Kustermann 8c38a415de Use batch mode compilation for -cdartkp --strong
Preliminary testing shows, this increases performance by around 20%. The
main benefit is by re-using a warmed-up VM and not start one from
scratch for every compilation.

Going forward we can do more optimizations, e.g. reading the platform
dill file only once into memory (instead of repeatedly) ...

  => This requires us using the new state-full IKG compiler.

Change-Id: I74db7dbb1aa79289d1045ef41f960215cf5b3b35
Reviewed-on: https://dart-review.googlesource.com/28240
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 15:55:31 +00:00
Paul Berry ba2417fdc0 Fix SDK errors due to inconsistent inheritance of Operator==.
The informal spec for strong mode top level inference
(https://github.com/dart-lang/sdk/pull/28218) says "If there are
multiple overridden/implemented methods, and any two of them have
non-equal types (declared or inferred) for a parameter position which
is being inferred for the overriding method, it is an error."

This CL fixes several SDK errors that arise from this rule.  For
example, the classes _Closure, Function, and Object contained members
declared as follows:

    class _Closure implements Function {
      bool operator ==(other) ...
    }
    class Function {
      bool operator ==(Object other) ...
    }
    class Object {
      bool operator ==(other) ...
    }

The type of Object's operator == was (dynamic) -> bool; the type of
Function's operator == was (Object) -> bool; therefore the type of
_Closure's operator == (which overrides both, since _Closure extends
Object and implements Function) cannot be inferred and must be
specified.

A similar situation exists for _Double and _IntegerImplementation
(both implement num, which declares operator == to have type (Object)
-> bool), and _Uri (which implements Uri, which declares operator ==
to have type (Object) -> bool).

This CL fixes the error by specifying the type explicitly in the
classes _Closure, _Double, _IntegerImplementation, and _Uri.

Change-Id: I91f7ceef8549399d438ba4be8c408493b3f338db
Reviewed-on: https://dart-review.googlesource.com/28100
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 13:02:19 +00:00
Vyacheslav Egorov 50865e9387 [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Change-Id: I882b28f6a011eabf69c349ff0792b275434e39ff
Reviewed-on: https://dart-review.googlesource.com/27820
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 12:49:22 +00:00
Morten Krogh-Jespersen e01a98d11f Write exit code on failures.
Bug:
Change-Id: I3ada8f2be879d9a4565d29b16e86b07faa59930a
Reviewed-on: https://dart-review.googlesource.com/25981
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2017-12-11 11:06:37 +00:00
Jens Johansen a6f66714ec [DDC] Enable sourcemap unit tests
Bug:
Change-Id: I10240c27eb06e8b0eddeac6a051ef00790970b11
Reviewed-on: https://dart-review.googlesource.com/27560
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-11 09:25:10 +00:00
Jens Johansen b2dd8418d9 [DDC-kernel] Fix of various annoyances
* Fix possibly null-pointer at end of batch mode
 * Fix changed fileUri type in source map printer
 * Silence a few warnings in tests.

Bug:
Change-Id: Ief1b9b62205a7bc20924a9e5efc06b9c9c34896a
Reviewed-on: https://dart-review.googlesource.com/27945
Reviewed-by: Karl Klose <karlklose@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-11 08:42:17 +00:00