* Enable --limit-ints-to-64-bits for CFE when it is used to generate
kernel for VM as CFE relies on int.parse being able to parse correct
literals and reject incorrect.
* Pass --limit-ints-to-64-bits to gen_kernel via environment
variable to support batch mode compilation.
Issue: https://github.com/dart-lang/sdk/issues/31339
Re-landing https://dart-review.googlesource.com/29941 with the fix:
* Use checked-in SDK to avoid timeouts on SIMARM bots.
Checked-in SDK was updated and now includes necessary fixes.
Change-Id: I4a5a99455b60204572f3d619d7eb374035b03e40
Reviewed-on: https://dart-review.googlesource.com/30640
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Change-Id: I9a3096bb3fb3deca178688029657cd71f8aedf7d
Reviewed-on: https://dart-review.googlesource.com/30840
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
* Fixes kernel flow graph builder to use instantiated type argumenst
for CreateArray
* Fixes prologue builder to mask the positon of named arguments in the
arguments descriptor array
* Add a SmiBitAndTOS instruction to DBC
* Implement missing AssertSubtype DBC instruction
* Ensure we don't use field guards in DBC mode
* Remove incorrect assertions in LoadIndexedUnsafe/StoreIndexedUnsafe
* Save argdesc_ in DBC simulator when calling the runtime to optimize
a function (which can call re-entrant to Simulator via const
evalulation)
Issue https://dart-review.googlesource.com/c/sdk/+/29581
Change-Id: Ia14b657db66f90643822b6986ec7f75f746ab0d8
Reviewed-on: https://dart-review.googlesource.com/30340
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This reverts commit 2a3f00a179.
Reason for revert: SIMARM bots are timing out.
Original change's description:
> [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
>
> * Enable --limit-ints-to-64-bits for CFE when it is used to generate
> kernel for VM as CFE relies on int.parse being able to parse correct
> literals and reject incorrect.
>
> * Pass --limit-ints-to-64-bits to gen_kernel via environment
> variable to support batch mode compilation.
>
> * Use current Dart SDK instead of checked-in Dart SDK to run CFE
> in gen_kernel as checked-in Dart SDK is old and it doesn't have
> int.parse fix yet.
>
> Issue: https://github.com/dart-lang/sdk/issues/31339
> Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
> Reviewed-on: https://dart-review.googlesource.com/29941
> Commit-Queue: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
TBR=vegorov@google.com,kustermann@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com
Change-Id: Iecf26953bc6ae95c3bf0d1142bb89fb51cb0aaee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/31339
Reviewed-on: https://dart-review.googlesource.com/30440
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
kernel for VM as CFE relies on int.parse being able to parse correct
literals and reject incorrect.
* Pass --limit-ints-to-64-bits to gen_kernel via environment
variable to support batch mode compilation.
* Use current Dart SDK instead of checked-in Dart SDK to run CFE
in gen_kernel as checked-in Dart SDK is old and it doesn't have
int.parse fix yet.
Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
Reviewed-on: https://dart-review.googlesource.com/29941
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
The displayName of an anonymous closure is a blank String, resulting in messages like:
[error] The return type 'String' is not a 'int', as defined by the method ''.
After this change, an error might instead look like:
$ xcodebuild/ReleaseX64/dart-sdk/bin/dartanalyzer --strong 26056.dart
Analyzing 26056.dart...
error • The return type 'String' isn't a 'int', as defined by anonymouse closure at 26056.dart:6:28 • return_of_invalid_type
1 error found.
Bug: https://github.com/dart-lang/sdk/issues/26056
Change-Id: I4003eea22cb23e0b06479482c06d5ce8a936c756
Reviewed-on: https://dart-review.googlesource.com/28382
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
The optimizer uses the "is more specific than" relation to eliminate type tests.
In strong mode, the "is more specific than" relation is supposed to be identical
to the "is subtype of" relation. However, it is not quite true, and this is the
cause of this bug. In non-strong mode (Dart 1), the "is more specific than"
relation uses covariance for both result type and parameter types of functions.
In strong mode, we need covariance of result type and contravariance of
parameter types.
Added regression test and updated status files.
Change-Id: I6315643890db75213af6720aa99d8da7b15f99d6
Bug:
Reviewed-on: https://dart-review.googlesource.com/29900
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
Fixes#31586.
Note that none of the back-ends handle Instantiation nodes yet, so the
language_2 tests added in this CL
(instantiate_tearoff_after_contravariance_check_test,
instantiate_tearoff_of_call_test, and instantiate_tearoff_test) fail
pretty much across the board right now.
Includes two fixes to Instantiation.getStaticType and the kernel type checker:
- Previously, they attempted to perform substitution on the full
function type, which had no effect because the type parameters were
bound.
- The type checker was not checking that type parameter bounds were
satisfied.
Note that the front end doesn't yet check that type parameter bounds
are satisfied by the inferred type parameters. I will address that in
a follow-up CL.
Change-Id: Ib0ad7a5fc5f4a2fdc8c99abe1f2d3d15b21a4974
Reviewed-on: https://dart-review.googlesource.com/29744
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
- frontend specific tests are moved to old_frontend/
- mirror specific tests are moved to mirrors/
- inference specific tests are moved to inference/
old_frontend/ and mirrors/ will be deleted with the old frontend
- possibly port some of the tests to the new frontend.
Change-Id: I5141238939944c49824f4abb886593f4f8443a94
Reviewed-on: https://dart-review.googlesource.com/29860
Reviewed-by: Sigmund Cherem <sigmund@google.com>
The analyzer used to emit a warning when a type parameter to a generic
method was used in an "is" check. This warning was there to help
users write code that worked correctly on both Dart 1.0 and 2.0. Now
that 2.0 generic methods are being more broadly supported and used,
this warning is blocking further library work, and is being removed.
Fixes https://github.com/dart-lang/sdk/issues/30530
Bug:
Change-Id: I70395305ad082aee3072b5beeb0b1b7f7883391b
Reviewed-on: https://dart-review.googlesource.com/29821
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
As reported in SDK issue #30068, co19/**/mouseOverEvent_A01_t01 is
flaky. This CL adds the flaky status for that test also on chrome.
Change-Id: I02dcdce69161a88661bed392bb5e3650893f3315
Reviewed-on: https://dart-review.googlesource.com/29802
Reviewed-by: Erik Ernst <eernst@google.com>
Gardening, reported as SDK issue #31659.
Change-Id: Ic261cf0a10602f0084a52c3201150c79606fdc55
Reviewed-on: https://dart-review.googlesource.com/29780
Reviewed-by: Erik Ernst <eernst@google.com>
Change-Id: I3f90979fad2681775cae56d499f3ff5968ea6485
Reviewed-on: https://dart-review.googlesource.com/29545
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
* Also enable --limit-ints-to-64-bits for CFE when it is used to generate
kernel for VM as CFE relies on int.parse being able to parse correct
literals and reject incorrect.
Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: I4d12057457869e86945a4d3cf83326be7c93c17f
Reviewed-on: https://dart-review.googlesource.com/29546
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Moved `parseRadix` into a separate test where it doesn't do 10 iterations.
This reverts commit ab4061471b.
Change-Id: Ie48216c2f4f077dc86f915a54021c39706c432e8
Reviewed-on: https://dart-review.googlesource.com/29593
Reviewed-by: Florian Loitsch <floitsch@google.com>
Commit-Queue: Florian Loitsch <floitsch@google.com>