The named import makes it into the kernel class name (meaning it has a
dot in it). That is currently not cleaned up when creating js code,
but it is catched as a non-legal js identifier.
```
Unhandled exception:
Invalid argument (name): not a valid identifier: "_Object$collection.ListMixin"
#0 new Identifier (package:dev_compiler/src/js_ast/nodes.dart:1148)
#1 ProgramCompiler._emitClassStatement (package:dev_compiler/src/kernel/compiler.dart:573)
#2 ProgramCompiler._defineClass (package:dev_compiler/src/kernel/compiler.dart:679)
#3 ProgramCompiler._emitClassDeclaration (package:dev_compiler/src/kernel/compiler.dart:501)
#4 ProgramCompiler._emitClass (package:dev_compiler/src/kernel/compiler.dart:450)
#5 List.forEach (dart:core-patch/dart:core/growable_array.dart:274)
#6 ProgramCompiler._emitLibrary (package:dev_compiler/src/kernel/compiler.dart:393)
#7 Iterable.forEach (dart:core/iterable.dart:226)
#8 ProgramCompiler.emitProgram (package:dev_compiler/src/kernel/compiler.dart:282)
#9 compileToJSModule (package:dev_compiler/src/kernel/command.dart:166)
#10 _compile (package:dev_compiler/src/kernel/command.dart:145)
```
Bug:
Change-Id: Ibb5a1c908c2ddba63600446f6062ced1b5dd34c2
Reviewed-on: https://dart-review.googlesource.com/28662
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
DDK, when visiting a let, wants to add a temporary into a list that has
not always been initialized.
```
Unhandled exception:
NoSuchMethodError: The method 'add' was called on null.
Receiver: null
Tried calling: add(Instance of 'TemporaryId')
#0 Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)
#1 ProgramCompiler.visitLet (package:dev_compiler/src/kernel/compiler.dart:4762:21)
#2 Let.accept (package:kernel/ast.dart:3425:36)
#3 ProgramCompiler._visitAndMarkExpression (package:dev_compiler/src/kernel/compiler.dart:2996:31)
#4 ProgramCompiler._visitInitializer (package:dev_compiler/src/kernel/compiler.dart:1481:11)
#5 ProgramCompiler._emitLazyFields (package:dev_compiler/src/kernel/compiler.dart:2058:19)
#6 ProgramCompiler._emitLibrary (package:dev_compiler/src/kernel/compiler.dart:402:47)
#7 Iterable.forEach (dart:core/iterable.dart:226)
#8 ProgramCompiler.emitProgram (package:dev_compiler/src/kernel/compiler.dart:282:15)
#9 compileToJSModule (package:dev_compiler/src/kernel/command.dart:169:19)
#10 _compile (package:dev_compiler/src/kernel/command.dart:148:18)
```
Bug:
Change-Id: I337e05a7494e87e3e6ae047ceae8ca8f954b6226
Reviewed-on: https://dart-review.googlesource.com/28660
Reviewed-by: Karl Klose <karlklose@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
Currently I get this when trying to compile with DDK:
```
Unhandled exception:
Concurrent modification during iteration: Instance(length:2) of '_GrowableList'.
<asynchronous suspension>
<asynchronous suspension>
<asynchronous suspension>
```
Bug:
Change-Id: I4d0cc88aeab4c9cab54a0d1f67ec5302110b2fe7
Reviewed-on: https://dart-review.googlesource.com/28580
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>