Also this CL ports x64 changes to StubCode::GenerateSlowTypeTestStub() to arm/arm64.
Change-Id: I1e6bb3ae51724e97dac28c7d75ac9d0f4f2db01b
Reviewed-on: https://dart-review.googlesource.com/68885
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Until now the subtype-test cache mechanism did not work (i.e. could
return the wrong result) for partially instantiated generic closures.
Additionally, closures which close over generic methods were always
handled in runtime. This caused a servere performance regression for
any code hitting this (e.g. code which uses `package:stack_trace`).
Fixes https://github.com/dart-lang/sdk/issues/34051
Fixes https://github.com/dart-lang/sdk/issues/34054
Change-Id: Idb73e6f348c2fe0c737f42c57009f5f7a636c9a6
Reviewed-on: https://dart-review.googlesource.com/68369
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
About 20 tests that were marked as failing actually pass.
Change-Id: Ib1f8b51359bfba41d0bab7bb28a5eb83340a11fb
Reviewed-on: https://dart-review.googlesource.com/68842
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This reverts commit 08f59e5de3.
There are no changes to take 3 except fixing merge conflicts.
Change-Id: I45d5a16274c80f469827c19f4e4f4ca724e85a67
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/68363
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Change-Id: I1f46f28c220ba2a6d5c5e3dc4f2c3efd010c7a8a
Reviewed-on: https://dart-review.googlesource.com/68664
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
I suppose an alternative would be do delete the test.
Change-Id: I79373fea26d8ee774473646ada6e17ad253f6531
Reviewed-on: https://dart-review.googlesource.com/68622
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
vm/xxx is dead because vm/*: SkipByDesign
TBR: sigmund@google.com
Change-Id: Ib1da8e8d9860fb055ae89dfd6bde160b5b0fb0ae
Reviewed-on: https://dart-review.googlesource.com/68601
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
The old parser has been deleted for some time.
Change-Id: Ib49b82d6be1d8d816ef50c64d37ebd067297c1f5
Reviewed-on: https://dart-review.googlesource.com/68600
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Supports mixed minified and unminified names (like `List` and `num` below).
Example:
TypeError: Closure 'minified:b3': type '() => minified:o<minified:k<num>>' is not a subtype of type 'List<minified:o<minified:k<num>>>'
Change-Id: I1fc67f189170eb9b9c8614b1e3d33128adc49787
Reviewed-on: https://dart-review.googlesource.com/67303
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Update Dart 1 status for 03df8b1eb8.
This should make the front-end legacy bot go green.
Change-Id: I8679da869ac1e03aa263fc8181869bf47880cc5a
Reviewed-on: https://dart-review.googlesource.com/67540
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Change-Id: Iffd934a67668901176a84c9b01512711a011652d
Reviewed-on: https://dart-review.googlesource.com/67803
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Negative tests are inflexible: they are expected to fail so they pass
if they fail and the fail if they pass. This requires strange status
file entries when they don't fail and aren't expected to (e.g., the
front-end's parser or the spec parser does not necessarily fail (i.e.,
pass)).
Change-Id: I1397b24fea63431472aa182f178bd14bc2afe8fe
Reviewed-on: https://dart-review.googlesource.com/67802
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Fix up override_inheritance_method_test.dart
Fix up override_inheritance_generic_test.dart
Fix up override_inheritance_field_test.dart
Fix up override_field_test.dart
Change-Id: I09f88c18e2473be645a955e1dc63d788e61382f4
Reviewed-on: https://dart-review.googlesource.com/64682
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
This starts tracking inlining data and records it as an extension
to source-map files so we are able to expand inlined calls when
deobfuscating production stack traces.
Change-Id: I46daf21c2f42305b2bd6ca17fbafb65226355096
Reviewed-on: https://dart-review.googlesource.com/67083
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
related #34030
Change-Id: I5806294d38d2c28aa80f6e1292dbf28b7774b0d0
Reviewed-on: https://dart-review.googlesource.com/67480
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
If a function expression is used in a context that expects a return type
other than dynamic/void/Null, issue a hint if that function has a block
body and is missing a `return` statement.
Change-Id: Ia55212abd84f5718343cf7401b87aba2891d6446
Reviewed-on: https://dart-review.googlesource.com/66340
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Rationale:
While writing tests for the ongoing native 64-bit
MOD/TRUNCDIV support in AOT, I noticed a floating-point
crash in our VM due to evaluating the constant mod case:
Expect.equals(0, mod(minInt64, -1));
Expect.equals(minInt64, truncdiv(minInt64, -1));
This fixes the constant evaluation part.
https://github.com/dart-lang/sdk/issues/33967
Change-Id: I9a4e6b3cd4d0d0dee39c690d2b981b5812501be4
Reviewed-on: https://dart-review.googlesource.com/67281
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
which was blocking the Dart SDK roll.
Revert "Take 3 for "[vm/kernel/precomp] Remove procedures from entry points files.""
This reverts commit 567109df7f.
Revert "[vm/precomp] Extend @pragma entry-points to classes."
This reverts commit 232698047c.
Change-Id: Ib63d1afb8a1c978be7ddf282af0e7d5547111cc3
Reviewed-on: https://dart-review.googlesource.com/67300
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Rationale:
The former speculative long multiplication on 32-bit
achitectures is no longer necessary with 64-bit
arithmetic wrap-around semantics. Having a non-speculative
implementation avoids deopting under JIT and enables AOT.
https://github.com/dart-lang/sdk/issues/31878
Change-Id: Iedd641304b10d2bf55fc1f283eccdba4a836423c
Reviewed-on: https://dart-review.googlesource.com/66942
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>