From the spec:
> A compile-time error occurs if a constructor tear-off denotes a
> generative constructor declared in an abstract class.
Change-Id: Ic1bf3fd5a726f327a0dd80d180b7b88790514797
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210660
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
SendAndWaitForResponse that was missed in the last CL.
TEST=ci
Change-Id: I7d18cdb7daf6bf5ca6d1a0ed2be0574dc09a3dbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210649
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
We launch the subprocess with --complete-timeline which will collect and
buffer all timeline events in-memory. This works ok if we don't have too
many events and if we have enough memory.
On ia32 in particular the JIT's kernel-service runs from kernel file
(not from an app-jit trained snapshot). That means it's slow and
possibly produces many more timeline events since kernel-service isolate
has to JIT all of the CFE in order to compile the test script.
On ia32 we only have 2 or 3 GB of memory available. So this could lead
to OOMs to due the timeline buffer getting too large.
(See issue below for more information)
This is an attempt to fix that by first compiling the testee to kernel,
so the subprocess can be run immediately from kernel instead of first
needing to compile via CFE.
Issue https://github.com/dart-lang/sdk/issues/43504
TEST=Tries to make flakily timing out less flaky.
Change-Id: I46a674ce7a8c44a716a543c73703d40f690f396e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210723
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
Instead of checking in AbstractType::IsSubtypeOf, check in
Class::IsSubtypeOf, after any FutureOr layers have been unwrapped.
TEST=vm/cc/ClosureType
Change-Id: I5f39bba1660e795442a7a489cf6922a38c449932
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210683
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
This reverts commit a3bcca9aba.
Reason for revert: there are indications that this is causing flaky crashes (b/196919000)
Original change's description:
> [vm, gc] Make the generational barriers in the runtime multi-thread safe.
>
> TEST=ci
> Bug: https://github.com/dart-lang/sdk/issues/46909
> Change-Id: I9e26b88779ff9039ab7723d07ef9f8568e6595d8
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210283
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/46909
Change-Id: Ifdbf921dbcf439ba4dfa77a63a37b34c6bfe815c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210682
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
* This reverts commit c04a71e455.
* Fix pkg/compiler pubspec.yaml to work with package_deps script and
`dart pub get`.
Fixes https://github.com/dart-lang/sdk/issues/46877.
Reason for revert: Duplicate dart2js_info has been removed from DEPS.
TEST=dart pub get in pkg/compiler.
Original change's description:
> [infra] Temporarily remove package_deps.dart from the test matrix
>
> It currently fails because pkg/dart2js_info isn't wired up, yet.
>
> Change-Id: I10a2d43385fe3d900a62fa7438ed37b9e366dffb
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209902
> Reviewed-by: William Hesse <whesse@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I35e642d1adb931fff665d48f7f51c31c070ff180
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210680
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Only a few need language 2.9 (before null safety).
Change-Id: Iadb11d41c7212cabbc2dc30f10660eae5bd794ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210647
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
On one hand this is less precise, OTOH this tells which feature and
the language version it requires.
Change-Id: I1d24a2d7cf2c7b7ca305d5bfc9f094fce0734bc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210644
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Previously when building subtype class id ranges for a class in AOT, we
looped over the entire class table, even though in most cases, the
number of actual subclasses and implementors of the class is a small
subset of all loaded classes.
Instead, use the same hierarchy information in both JIT and AOT, only
falling back to traversing the entire class table in cases where the
hierarchy information is missing.
Additional changes:
* Do not generate unused type argument checks if the subtype class id
range to check is empty.
* Only generate a nullability check when checking that an instance
type argument is a subtype of non-nullable Object in null safe mode.
* Fix AbstractType::IsSubtypeOf so _Closure <: Function.
Fixes https://github.com/dart-lang/sdk/issues/46936
TEST=vm/cc/HierarchyInfo
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-release-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-tsan-linux-release-x64-try,vm-kernel-linux-product-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try
Change-Id: Ic0310208d271ef04e778f070f420ae0abbdd47d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210581
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
This was mainly used as a backup plan which is no longer needed at this
point.
This CL removes internal only functionality that couldn't be used by
end-users.
TEST=ci
Change-Id: Ie0828bda1ba48ee6a5a460ff039267e0549e0060
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210340
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
This reverts commit 4b1de45034.
Reason for revert: Null safety error appears when test fail:
error: Null check operator used on a null value
Original change's description:
> [dart2js] Migrate dart2js_tools to null safety
>
> Change-Id: If93f66f4da2dafb50f58434eb112b1f8af6648c7
> Issue: https://github.com/dart-lang/sdk/issues/46617
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208363
> Commit-Queue: Nicholas Shahan <nshahan@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>
# Not skipping CQ checks because original CL landed > 1 day ago.
Issue: https://github.com/dart-lang/sdk/issues/46617
Change-Id: I7ef7d95a6715d667698e0dfcb38375fd79b4cc73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210540
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
This is an extensive refactor of deferred_load.dart. The major changes
are:
* An 'EntityData' class to better model some of the polymorphism in the
algorithm
* An 'AlgorithmState' class to simplify updates.
* An 'EntityDataCollector' to encapsulate collecting dependencies from
'EntityData' objects.
NOTE: This patch may change output file numbering.
Change-Id: I8849eb23a430a05f0efebd0537670b096719e8eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208780
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Clone latency.dart into the benchmark from EventLoopLatencyJson
Change-Id: I92090b4decf49e67b937d8095bb7c36adf79c509
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210430
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>