Ben Konyi
18e4e7830d
[ VM / Service ] Bump VM service version to 3.24
...
Change-Id: I8b5d39ce77eae950773afbc08826e80b5656fdcb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111363
Reviewed-by: Ben Konyi <bkonyi@google.com >
2019-07-30 22:34:39 +00:00
Ben Konyi
8591778065
[ VM / Service ] Added 'operatingSystem' property to VM object
...
Allows for VM service clients to determine information about the system
the service is running on. Needed for some DevTools functionality.
Change-Id: I530984816e6cc1e4ca378454882219085e2d9de8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111361
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-07-30 22:31:26 +00:00
Ryan Macnak
d8160e0cb1
[vm] Fix deadlock in isolate shutdown.
...
Enter a safepoint when waiting for child isolate spawns to complete, since the child isolate now requires its parent (along with all other members of the isolate group) to participate in safepoints.
Change-Id: Ia75f76a08a59bb73d116301ec5e1a3c0fd1db99c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111313
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2019-07-30 21:05:22 +00:00
Aart Bik
361d27e20b
[dart/vm] Fix bug in parallel move/register allocator
...
Rationale:
Another one bites the dust due to fuzzing! The attached
small reproducer assert failed in debug and crashed
in release due to "any" allocation in the parallel move.
https://github.com/dart-lang/sdk/issues/37633
Change-Id: Ie9044cb7fa86dfdb1ba312599f57db76bec47611
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110540
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-07-30 20:42:05 +00:00
Régis Crelier
f166a82b19
[vm/bytecode] Improvements in bytecode debugger.
...
Fix these issues:
Function breakpoint could wrongly be set before the first DebugCheck opcode.
Loaded bytecode closures were not found by FindCompiledFunctions.
Improve verbose debug output by providing address and offset of breakpoint.
Change-Id: Icfeb1204348af313de21cab358603c11e89d2503
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111309
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Régis Crelier <regis@google.com >
2019-07-30 20:41:53 +00:00
Martin Kustermann
80c4954d4d
[vm/compiler] Remove unnecessary load in product mode
...
Change-Id: Id4cad1f543024cf473a0068786b7a849893d24af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111320
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-07-30 18:43:21 +00:00
Michael Thomsen
821efa642c
Update error messages in kernel_loader.cc
...
Closes #37660
https://github.com/dart-lang/sdk/pull/37660
GitOrigin-RevId: 102bdbc71402d22b42713d848f38615e4d2456ad
Change-Id: I438092c270aa673f90bb0b6d2c6015c6977bc20b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110980
Commit-Queue: Michael Thomsen <mit@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2019-07-30 16:20:50 +00:00
Teagan Strickland
795290a614
[vm/compiler] Free, not delete, buffer taken from TextBuffer.
...
Change-Id: Ic4309c097689d4dade2efc5d027cc04493b8f7d4
Cq-Include-Trybots: luci.dart.try:vm-kernel-asan-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111281
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
2019-07-30 14:48:57 +00:00
Teagan Strickland
4932ee6d80
Reland "[vm/compiler] Use pragmas instead of separately-maintained lists for inlining."
...
This closes https://github.com/dart-lang/sdk/issues/36571 .
Change-Id: I14c623aba6b7183191ae93e294e26af9f4dcf34f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110441
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-30 13:14:57 +00:00
Teagan Strickland
f822dfa3ea
Reland "[vm/compiler] Implement new inlining pragmas."
...
This change introduces two new pragmas:
* `@pragma('vm:never-inline')`
* `@pragma('vm:prefer-inline')`
These replaces the old way of specifying AlwaysInline or NeverInline
annotations when the (now removed) --enable-inlining-annotations flag
was used.
Bug: https://github.com/dart-lang/sdk/issues/36571
Change-Id: Iee152c1d67abde8d58c58fa967449d36e77c8c93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110440
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-07-30 12:01:06 +00:00
Martin Kustermann
5f627b7a54
[vm/compiler] Fix inliner bug which did not emit an explicit unboxing instruction for the value
...
The StoreIndexedInstr have been changed to require their value to be
unboxed. Even though SelectRepresentations will insert an unboxing
instruction, we want to manually create the unbox instruction to ensure
it is marked as truncating.
Closes https://github.com/dart-lang/sdk/issues/37551
Change-Id: I31e2204c6ecacd0d27ac9b6fd71974c84b882ef2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110912
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-07-30 11:51:27 +00:00
Teagan Strickland
b87386da26
[vm/compiler] Add S-expression deserializer.
...
Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I991d160ecbde45a09e7533867f51f1ab72c3b215
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110220
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-30 11:08:06 +00:00
Teagan Strickland
d6e9e15cf1
[vm] Clear recognized method info on dynamic invocation forwarders.
...
Similar change to b68e5c4338 , where this information gets copied
over into the new dynamic invocation forwarder from the original
function.
Change-Id: I728fa459837a8bb2e831c5314d12f6a00f7f32b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110722
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Teagan Strickland <sstrickl@google.com >
2019-07-30 09:13:37 +00:00
Alexander Markov
b3293a4263
[vm/bytecode] Use faster method/field lookups
...
Issue: https://github.com/dart-lang/sdk/issues/36429
Change-Id: I9d6b209529394aebe8ba64bf1c06cee72e7082b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111200
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-30 00:04:59 +00:00
Martin Kustermann
8db1408ffd
[vm] Use RareType for fast is-checks optimization instead of TypeArguments::null() comparison
...
This fixes the ASSERT introduced in 92faca77d9
Change-Id: I6564a1b0436b15e2adf762ead111860f8dd5650c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110909
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-29 19:58:34 +00:00
Martin Kustermann
92faca77d9
[vm/compiler] Use simpleInstanceOf for is checks if the type to test against is a rare type
...
For is checks where the type is a rare type we can use the faster _simpleInstanceOf implementation,
since there is no need to consider the type arguments.
By using the simpleInstanceOf implementation more optimizations get done
by our call specializer (e.g. simply doing a cid check).
This can improve type checks for code like `if (object is Future) {}`
Change-Id: I88497b9d2bdb4693ab79cd23cd19e727169eed63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110566
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2019-07-29 15:06:57 +00:00
Martin Kustermann
fc54f900de
[vm] Cleanup some outdated code from hot-reload (and deferred loading)
...
Hot-reload used to be implemented by calling a tag handler (i.e. embedder),
which would load new Dart source code and call recursively into hot reloading
code.
=> This no longer happens, since the hot reload implementation obtains and
loads the kernel diffs itself in isolate_reload.cc.
With the switch to the Dart 2.0 CFE the VM no longer supports any kind of
deferred library loading. The CFE provides the VM with all sources together.
This CL cleans up some unnecessary code and outdated comments.
Issue https://github.com/dart-lang/sdk/issues/36097
Change-Id: I63aaa6e2a1910165185172a9dd975c3974ac5dd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110720
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-07-29 14:32:47 +00:00
Ben Konyi
0a73628a20
[ VM ] Fix asan failures in Isolate_getDebugName
...
Change-Id: Iccde0429fbbb3ecff7e68b33cc568252be511590
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110747
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Ben Konyi <bkonyi@google.com >
2019-07-26 20:58:41 +00:00
Alexander Markov
16f7076547
[vm/bytecode] Generate bytecode for expression evaluation
...
Issue: https://github.com/dart-lang/sdk/issues/36427
Change-Id: I0a07bd8ff1be357d2962e6745c8ef1e500d45477
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109984
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-07-26 18:22:51 +00:00
Alexander Markov
75c2c7faf0
[vm/bytecode] Fix number of checked args when calling setters
...
TypeChecks.CovariantCheck +9.571%
Issue: https://github.com/dart-lang/sdk/issues/36429
Change-Id: Ib8ae0160e47d309e9f98b9ba5981c5be77c583d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110680
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-26 17:33:11 +00:00
Ben Konyi
545afa246c
[ VM ] Fix potential races in Isolate_getDebugName
...
See https://dart-review.googlesource.com/c/sdk/+/108410/5/tests/lib_2/isolate/spawn_function_test.dart
Change-Id: I9f49f45c98ad3b69e6897f98e27094864c11947f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110740
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2019-07-26 16:15:51 +00:00
Teagan Strickland
b68e5c4338
[vm] Clear native flag on dynamic invocation forwarders.
...
When creating a dynamic invocation forwarder, the VM clones the original
function object and then modifies the clone to create the forwarder.
Previously, the is_native flag was left untouched, but now it is
properly cleared.
Change-Id: I133ffdc0d0d3d727f7b7e47af22944e6b0574ee7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110721
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Teagan Strickland <sstrickl@google.com >
2019-07-26 15:10:08 +00:00
Teagan Strickland
d44076efea
[vm/compiler] Add S-expression layer to serializer.
...
Instead of hand-writing S-expression output in the methods used by the
serializer, just create an appropriate S-expression data structure (with
handling of extra info maps) that handles serialization.
Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I9b56827d7452271de4b32c0c01cc2e4c4bcc0367
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109706
Commit-Queue: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-26 09:09:18 +00:00
Ryan Macnak
938d3be958
Revert "Add various missing argument checks to dart:io natives."
...
This reverts commit ba72890aa7 .
Reason for revert: Crash in bytecode modes
Original change's description:
> Add various missing argument checks to dart:io natives.
>
> Change type checks in embedding API functions to return UnhandledExceptionErrors instead of APIErrors so they are catchable by Dart.
>
> Fixes invocation_fuzz_test.
>
> Bug: https://github.com/dart-lang/sdk/issues/15274
> Bug: https://github.com/dart-lang/sdk/issues/23869
> Change-Id: Ia6103e7ffceda897e475c1a3ba534c2f4b910475
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110020
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TBR=sortie@google.com ,rmacnak@google.com ,asiva@google.com
Change-Id: Ib52ec03caf4b177cd91bb1d366df51588bf23177
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/15274 , https://github.com/dart-lang/sdk/issues/23869
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110580
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-07-25 19:18:23 +00:00
Ryan Macnak
ba72890aa7
Add various missing argument checks to dart:io natives.
...
Change type checks in embedding API functions to return UnhandledExceptionErrors instead of APIErrors so they are catchable by Dart.
Fixes invocation_fuzz_test.
Bug: https://github.com/dart-lang/sdk/issues/15274
Bug: https://github.com/dart-lang/sdk/issues/23869
Change-Id: Ia6103e7ffceda897e475c1a3ba534c2f4b910475
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110020
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-25 16:40:04 +00:00
Alexander Aprelev
dd59b193c7
Revert 52cace8160 as it breaks flutter tests on android nexus 5x.
...
This reverts 'Reland "[vm/ffi] Support structs on 32bit architectures"' 52cace8160 reviewed on https://dart-review.googlesource.com/c/sdk/+/108818 , reverts FfiStruct part of https://dart-review.googlesource.com/c/sdk/+/108724 .
```
runtime/vm/compiler/ffi.cc:63:1: error: static_assert failed "FFI transformation alignment"
static_assert(alignof(double) == 4, "FFI transformation alignment");
^ ~~~~~~~~~~~~~~~~~~~~
runtime/vm/compiler/ffi.cc:64:1: error: static_assert failed "FFI transformation alignment"
static_assert(alignof(uint64_t) == 4, "FFI transformation alignment");
^ ~~~~~~~~~~~~~~~~~~
````
Change-Id: I0c3bf985f68b2184261e8999320f8ee89fe3f896
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110362
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-25 04:00:23 +00:00
Ryan Macnak
9fe8865f4a
[vm, bytecode] Implement ParameterMirror and enable mirror tests.
...
In particular, mirrors_reader_test no longer crashes.
Change-Id: I602e7d85755dafd943fe84d20831f0f35484b387
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108968
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-25 00:04:02 +00:00
Aart Bik
1ac0a36fcb
[dart/vm] Fix division-by-zero bug in range analysis
...
Rationale:
The attached test, a simplified version from a case found
by fuzzing, yielded the range [4,4] for the left hand side
of the division but [25,0] (sic!) for the right hand side.
This reverse range caused the logic in the TRUNC evaluation
to pass the >= 1 test but introduce the division by zero
in the compiler code. The true culprit, however, was
the reason for [25,0] which was due to a difference
in C++ and Dart shift right semantics. This CL fixes
the bug and adds some sanity assert to find more of
such cases.
https://github.com/dart-lang/sdk/issues/37622
Change-Id: I60e07428435d99589e1177c113ef5e24e1611d0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110420
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2019-07-25 00:00:39 +00:00
Régis Crelier
35fb2377c5
[vm/bytecode] Properly handle non-live bytecode frames in debugger.
...
Change-Id: I30db495fbda03a983f21dc45d27c57c5cb35f162
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110139
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-24 21:42:32 +00:00
Alexander Markov
0c97c31b6e
[vm] Add assertions for number of parameters in recognized methods
...
This is a follow-up for review comments
https://dart-review.googlesource.com/c/sdk/+/107680/4/runtime/vm/compiler/frontend/kernel_to_il.cc#901
https://dart-review.googlesource.com/c/sdk/+/109887/4/runtime/vm/compiler/backend/il.cc#4631
Change-Id: I9b0ef0f9baa5102974d911ffdaaf7bdf47095c9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110127
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-24 16:16:53 +00:00
Liam Appelbe
4d62935fe5
[vm] Fix a small ELF serialization issue for simarm_x64
...
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: I6b7748c12cf35b16b733ebe7984c4968364a8bdf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110132
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-07-23 22:18:42 +00:00
Alexander Aprelev
f66964c66d
[vm/concurrency] Ensure library tag handler is set up on the isolate group, shared by all isolates in the group.
...
The library tag handler needs to be available during set up of child isolate, during kernel loading for the isolate(due to usage of native extensions).
Setting up library tag handler in initialize_isolate callback is too late for that.
Change-Id: Ie152d2c699ce3318e90325e693b6c66d30267d7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110160
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2019-07-23 20:03:42 +00:00
Ben Konyi
babefb8c01
[ VM / Service ] Added VMFlagUpdated event to VM stream
...
Fixes https://github.com/dart-lang/sdk/issues/37557
Change-Id: I129c60a4ac8f42e2f338e6bd15f7fa6fcfe7f54a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109721
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-23 15:24:28 +00:00
Martin Kustermann
0a2993687b
[vm/concurrency] Make all isolates within an isolate group coordinate on GCs
...
This CL moves the thread registry and the safepoint handler to the
[IsolateGroup]. This will cause all threads belonging to the isolate
group to safepoint together.
=> We will therefore start to get an idea of the impact this will have on
pause times.
So far it was only possible to enter a particular isolate (e.g. as mutator
thread or auxiliary thread). This CL adds support for entering an isolate
group (instead of a particular isolate) as an auxiliarly thread. The
current isolate group is available via `IsolateGroup::Current()`.
=> This is a preparation step to let GC threads enter the isolate
group as auxiliary threads, not associated with a particular isolate but
to an isolate group as a whole.
Issue https://github.com/dart-lang/sdk/issues/36097
Change-Id: I7069d07130938d370869f02060570143bfeb1b48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108801
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2019-07-23 10:58:11 +00:00
Ryan Macnak
60a952e261
[vm] Avoid superlinear time canonicalizing deep constants.
...
Bug: https://github.com/dart-lang/sdk/issues/37523
Change-Id: Ia3c2514891e2e3f07d1b3266b019b142413918d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109318
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-22 22:20:33 +00:00
Alexander Markov
d3a09dda15
[vm/bytecode] Recognize list factories and set result type for static calls
...
Sudoku +15.62%
Issue: https://github.com/dart-lang/sdk/issues/36429
Change-Id: I58cde03ffc9788b2eebe889fcc1a98a82698c39a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109887
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-22 21:50:34 +00:00
Alexander Markov
fedd74669a
[vm/bytecode] Support multiple entry points when compiling from bytecode
...
DeltaBlueClosures +26.54%
Closes https://github.com/dart-lang/sdk/issues/36889
Issue: https://github.com/dart-lang/sdk/issues/36429
Change-Id: I8920c7985366a2c955a06013aa9f58763fcbced9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109580
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-20 00:05:23 +00:00
Aart Bik
ebc180be95
[dart/vm] Fix bug on missed exception in AOT
...
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 >
2019-07-19 22:43:31 +00:00
Liam Appelbe
3756fa6964
[vm] Fix remaining AssemblyImageWriter issues for simarm_x64
...
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: I252414c6db349d1cb546e513c9b8a5f2d9872ed4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109720
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2019-07-19 18:21:30 +00:00
Régis Crelier
1ddb120eaa
[vm/bytecode] Improve bytecode debugger.
...
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 >
2019-07-19 18:19:50 +00:00
Samir Jindel
c6f3d972b8
[vm] Support flushing icache on all ARM platforms.
...
Change-Id: Id6987dca1e284179096de3b74e7b537ca93bd2bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109701
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-07-19 15:56:09 +00:00
Daco Harkes
48d92b3176
[vm/ffi] Fix GC relocation bug
...
Issue: https://github.com/dart-lang/sdk/issues/37511
Change-Id: Ibabe6a49b6fe38032da544a6520bdc398d496ba0
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-ffi-android-product-arm-try,vm-ffi-android-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108805
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-07-19 15:17:50 +00:00
Ryan Macnak
395e074899
[vm] When clearing ICData, also reset the megamorphic bit.
...
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 >
2019-07-19 00:02:15 +00:00
Aart Bik
873cc9a787
[dart/vm] peek prior to constant class evaluation
...
Rationale:
Only look for "external" and "pragma" to avoid
cyclic or unloaded class evaluation
https://github.com/dart-lang/sdk/issues/37533
https://github.com/dart-lang/sdk/issues/36220
Change-Id: I78ef5dcd2c7e7dee0d196394320e994f8aa8a695
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109300
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-18 17:17:49 +00:00
Ryan Macnak
63120303a7
[vm] Guard against double finalization from annotations on fields.
...
Bug: https://github.com/dart-lang/sdk/issues/37544
Change-Id: Ie3620dd9adf8382afc018cf764965b4ff74d2b75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109440
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-07-18 00:39:47 +00:00
Liam Appelbe
6bf1f8e280
[vm] Fix WriteByteSequence for simarm_x64
...
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: Ibf9ffda6be7a6585d90b4fb1430ae0b227609af6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109482
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2019-07-17 23:03:18 +00:00
Alexander Markov
f450cf399e
[vm/bytecode] Add UncheckedClosureCall instruction
...
This improves performance of closure calls:
DeltaBlueClosures: +25.14%
DartMicroBenchMM.MaxLib +40.91%
DartMicroBenchMM.MinLib +42.58%
Change-Id: I13000e20b9433ce77bb2ba5209513de575656036
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109220
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-07-17 21:05:44 +00:00
Liam Appelbe
0506882b37
[vm] Fix a couple more host vs target architecture bugs
...
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: I6ba25df7b5c8ebeda89a838377cb3af167dd91ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109421
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-07-17 18:57:04 +00:00
Ryan Macnak
c3043367cd
[vm] Fail more gracefully when reload removes a static target.
...
Bug: https://github.com/dart-lang/sdk/issues/37517
Change-Id: I83b6bed09235d2abe3e168a49ca28434b127442f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109140
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2019-07-17 17:47:34 +00:00
Ryan Macnak
8cb7e4c237
[vm] Fix gcc build.
...
Change-Id: I78c5826ec042212a32fe50d6fe53a78f8e05fdf6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109314
Reviewed-by: Liam Appelbe <liama@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2019-07-17 16:23:45 +00:00