The "elements" used by flow analysis always represent variables
anyway, and the front end has no notion called "element", so just
calling them variables is clearer.
Change-Id: Ibd450742b97aafea77d3339609f5a83090405b0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109743
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
It's better to annotate the test to match the way the code is truly
behaving, and include TODO comments indicating what needs to be
changed, because then when we make the fix we'll be able to see the
behavioral difference in the diff.
Change-Id: I28faad5787f8c70d3b5f5d8fc3510b0e3fb294f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109741
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Rationale:
The regression test in this CL should throw
with a NoSuchMethod on null. However, before
the fix, AOT did not throw at all.
https://github.com/dart-lang/sdk/issues/37408
Change-Id: I4037b163092caf78d313815624fd3b20c20f88ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109550
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
While stepping, do not stop more than once in the same token range.
Adjusted tests expecting multiple stops at same location.
Fixed emitted source position of DebugCheck opcode in async op.
Ignore all possible breakpoint positions until the first DebugCheck opcode of
the function, so as to not stop in the prologue where arguments are not yet
accessible.
Fixed look up of context level in debugger.
Use receiver to look up async op closure in frame instead of named captured
variable.
Made StoreContextVar a 'debug checked' opcode.
Implemented rewind of interpreted frames.
Marked get_source_report_test as (temporarily) failing in status file.
Removed fixed and passing regression test from status file.
Change-Id: I9396d3cf4b6accc85753bb6d227b7c068acc8df7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109558
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
A bad 'dummy interceptor' optimization was applied to a super-call to
a method that is used in an intercepted class. This lead to seeing '0'
instead of the List receiver. Fix is to base decision on the target
method when available.
Bug: 37494
Change-Id: I07e5555cbe0083d7dd2510dc5bb0cba99201cd0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109553
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Adds micro benchmarks to measure low level (1) C memory reads and writes from Dart and (2) calls from Dart into C. This CL also adds a macro benchmark to measure overall performance using BoringSSL to digest data. The shared libraries are precompiled for Linux and live in cipd packages. The benchmarks run on all hardware architectures (with the exception of Linux'es hardfp on Arm32: https://github.com/dart-lang/sdk/issues/36309).
Issue: https://github.com/dart-lang/sdk/issues/36247
Change-Id: I8dfb30cc66a26a2942bb09194c5eb0da0b6ca1b5
Cq-Include-Trybots: luci.dart.try:benchmark-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108724
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
We normally store the declared element for a declaration in the name of
the declaration. We still do that when there _is_ a name for an extension,
but we also store it directly on the extension so that we can handle
unnamed extensions.
Change-Id: Id8a8bc01be5d2fbfd86ea5ec4ff150165b31a9bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109554
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
After a reset due to reload, an ICData could end up with a single entry and have its megamorphic bit set with the MegamorphicCache having several entries. The compiler might specialize based on the ICData's single target and then insert guards based on the several classes in CallTargets. the
Bug: https://github.com/dart-lang/sdk/issues/37548
Bug: https://github.com/dart-lang/sdk/issues/37575
Change-Id: I3c22517ffc8c6936fcb90c6f11b2af3ba96cadfe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109556
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
The tag 0.9.7+12 was never published on pub. The tag 0.9.7+12-pub is
what is published. The version published on pub contains some internal
style fixes and removes unused code.
Change-Id: Ic196316e83ada99f02f461feeae9215ee3db3701
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109307
Auto-Submit: Nate Bosch <nbosch@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
Commit-Queue: Gary Roumanis <grouma@google.com>
This fixes an NPE I just ran into. I didn't add a test, but the bug
occurs when the extended type is `dynamic`. I'm guessing that the same
bug would occur if the extended type were `void`.
Change-Id: I5b22a9c3ccc7d656f5e1eed23a430d1fe5671b7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109582
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
We need to request additional elements for editors, and this is async
operation.
R=brianwilkerson@google.com
Change-Id: I451e80e32cf00fa0070f93123b33f0ee4b0ef759
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109545
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
To make formatting work we need to know the content, and we already
included much of ResolvedUnitResult.
R=brianwilkerson@google.com
Change-Id: I26b79328c01b973803b7bc86b3b810055f6ad431
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109543
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Visiting an `UnevaluatedConstant` at this point is a signal something
has gone wrong in the constant evaluation. This should help us identify
hidden issues when flipping the constants-update-2018 flag back on.
Change-Id: Idd8db4c60785f00b22c29292db53783582ed8af1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109104
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Cleanup handling of paths with the aims to help the script work when run
from an arbitrary directory.
Change-Id: I1a319e7a16e5e021f06457d15807bc4c3245f677
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109521
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
These are based on recent comments, and might not be appropriate.
Change-Id: I634dc30a29459f3ab41dae99233d27c9954b9347
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109542
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Kathy Walrath <kathyw@google.com>
EDIT: this is not working as is but puzzled as to why.
Dan: perhaps you could take a look?
Tracking issue: https://github.com/dart-lang/sdk/issues/37558
Thanks!
Change-Id: I7498159568807e05c22ba23550b6b0f74cf86e81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108964
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>