Ben Konyi
b6284b41e3
Revert "[VM] Dart_Initialize no longer crashes after Dart_Cleanup"
...
This reverts commit 519ee905f9 .
Reason for revert: Seeing multiple crashes on Windows
Original change's description:
> [VM] Dart_Initialize no longer crashes after Dart_Cleanup
>
> Change-Id: I3cfdab9553aad045f024b6f9aec0b40b08234007
> Reviewed-on: https://dart-review.googlesource.com/75786
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
> Commit-Queue: Ben Konyi <bkonyi@google.com >
TBR=bkonyi@google.com ,rmacnak@google.com ,zra@google.com
Change-Id: I33ad79dbc3fcf44f93612ff63bd2d8431f6067c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/76342
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-09-25 02:17:37 +00:00
Ben Konyi
519ee905f9
[VM] Dart_Initialize no longer crashes after Dart_Cleanup
...
Change-Id: I3cfdab9553aad045f024b6f9aec0b40b08234007
Reviewed-on: https://dart-review.googlesource.com/75786
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-09-25 01:20:24 +00:00
Ryan Macnak
93dcfaa289
[vm, gc] Concurrent marking.
...
Fall back to parallel marking
- on IA32 (barrier unimplemented)
- when write_protect_code is enabled (protection dependency on marking state unimplemented)
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: If093f24e4dc6bf29f407cc45e95bb2274fc53dcf
Reviewed-on: https://dart-review.googlesource.com/71389
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-09-21 21:30:33 +00:00
Ryan Macnak
0d71b8aa40
Revert "[vm] Add a timeline stream for recording the zone high watermark."
...
This ended up not being helpful, and just makes the timeline harder to read.
This reverts commit 8590919ca6 .
Change-Id: I0063dea0c4f6b37bf66a54df9b1c20a73dea40d9
Reviewed-on: https://dart-review.googlesource.com/75209
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-09-18 17:06:03 +00:00
Vyacheslav Egorov
229d793602
[vm/compiler] Support materializing unboxed variables when entering catch.
...
Previously we tried to rely on the assumption that all variables would be
boxed - so the machinery for setting correct catch-entry state only
supported tagged values and constants. However this both leads to worse code
and is not entirely correct assumption.
This also:
- renames various confusingly named classes: we move away from talking
about "catch entry state" to "catch entry moves" - because we only
record a subset of moves that needs to be performed and that does
not describe the whole state;
- refactors a bunch of associated code to be more readable and maintainable;
- adds documentation about catch implementation in optimized code
to runtime/docs/compiler;
Fixes https://github.com/flutter/flutter/issues/21685 .
Change-Id: I03ae361a1bb7710acbd9f661ae014e663a163c59
Reviewed-on: https://dart-review.googlesource.com/74860
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-09-14 17:39:12 +00:00
asiva
cd3ddede99
Move flags strong/sync-async/reify-generic-functions back to global vm flags (they are not set as isolate specific flags).
...
Change-Id: I4d5cba4f5ac657a0834e3755312147cff1fbc001
Reviewed-on: https://dart-review.googlesource.com/71426
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-09-07 21:22:13 +00:00
Zach Anderson
b4004f6476
[vm] Reland: Move the interpreter under a flag.
...
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.
Reland with fix to NativeArgument setup in simulator_arm.cc
Change-Id: Ib9b4df6eb4d997dfbe361188b8a127828c1d9c6f
Reviewed-on: https://dart-review.googlesource.com/74003
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-09-07 19:25:31 +00:00
Zach Anderson
21406f576a
Revert "[vm] Move the interpreter under a flag."
...
This reverts commit 715ab7b30b .
Reason for revert: simarm and kernel precomp builds failing
Original change's description:
> [vm] Move the interpreter under a flag.
>
> After this CL, the interpreter is included by default in the
> JIT VM under the flag --enable-interpreter.
>
> Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
> Reviewed-on: https://dart-review.googlesource.com/71800
> Commit-Queue: Zach Anderson <zra@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Reviewed-by: Régis Crelier <regis@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,alexmarkov@google.com ,zra@google.com ,asiva@google.com ,regis@google.com
Change-Id: I3622f4dbe53288d07fc21b34ee5ff68f2682b36d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/74001
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-09-07 17:14:21 +00:00
Zach Anderson
715ab7b30b
[vm] Move the interpreter under a flag.
...
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.
Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
Reviewed-on: https://dart-review.googlesource.com/71800
Commit-Queue: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-09-07 16:46:07 +00:00
asiva
d1bd887d03
[VM/SDK] Switch kernel isolate to run in Dart 2 mode
...
- Switch the kernel isolate to run in Dart2 mode
- Refactor build rules so bootstrapping of the front end happens
with a prebuilt dart sdk
- Refactor application snapshot build rules so the kernel application
snapshot rule does not get into a cyclic dependency during the
bootstrap stage
Change-Id: Iccca3233f6cb8d6b307b4cf1ca3262f293f794a6
Reviewed-on: https://dart-review.googlesource.com/70841
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-08-21 20:28:06 +00:00
Ryan Macnak
bfd86e5b22
[vm, gc] Make bypass_safepoints on helper threads sticky.
...
Allows concurrent marking and sweeping to continue during safepoints. However, the sweeper still cannot make much progress during a scavenge due to the scavenger holding the freelist lock.
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I84f3f48feb81e8eeb67c418e918a6e12aa3178c9
Reviewed-on: https://dart-review.googlesource.com/70900
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-08-21 20:12:23 +00:00
Vyacheslav Egorov
032037681e
Revert "[VM/SDK] Switch kernel isolate to run in Dart 2 mode"
...
This reverts commit 499761f0da .
Reason for revert: crashes when building SDK, red bots, broken Flutter 3xHEAD bot
Original change's description:
> [VM/SDK] Switch kernel isolate to run in Dart 2 mode
>
> - Switch the kernel isolate to run in Dart2 mode
> - Refactor build rules so bootstrapping of the front end happens
> with a prebuilt dart sdk
> - Refactor application snapshot build rules so the kernel application
> snapshot rule does not get into a cyclic dependency during the
> bootstrap stage
>
> Change-Id: I067c5f1165fb93811dcc8e390a8bf381db721e5b
> Reviewed-on: https://dart-review.googlesource.com/70461
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Siva Annamalai <asiva@google.com >
TBR=rmacnak@google.com ,asiva@google.com
Change-Id: Ibf6d526fb5132b766f063fcf873cde661ae895d7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/70516
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2018-08-19 19:58:32 +00:00
asiva
499761f0da
[VM/SDK] Switch kernel isolate to run in Dart 2 mode
...
- Switch the kernel isolate to run in Dart2 mode
- Refactor build rules so bootstrapping of the front end happens
with a prebuilt dart sdk
- Refactor application snapshot build rules so the kernel application
snapshot rule does not get into a cyclic dependency during the
bootstrap stage
Change-Id: I067c5f1165fb93811dcc8e390a8bf381db721e5b
Reviewed-on: https://dart-review.googlesource.com/70461
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-08-18 22:50:09 +00:00
asiva
54ae4f9172
[VM] - Fix race condition in setting kernel isolate
...
(was being added to the isolate list before it was marked as a kernel isolate)
Also do not send service events or debug events from the kernel isolate
Change-Id: I82a1dac3c8a845344dd26ce8a2a9077eb93f8447
Reviewed-on: https://dart-review.googlesource.com/65881
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-08-16 22:01:42 +00:00
Ryan Macnak
ac69a3041a
[vm, gc] Rename store_buffer.h as pointer_block.h as it also defines the mark stack blocks.
...
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I85ce8c639bbbfc9167c7c5462ff8756a81ecf3d3
Reviewed-on: https://dart-review.googlesource.com/68841
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-08-07 23:49:14 +00:00
Martin Kustermann
25b20ee67b
Reland "[VM] Move kernel buffer created by IKG into external typed data with finalizer""
...
This will retain the kernel blobs for the lifetime of the isolate, since
our normal heap objects don't properly retain the c-heap allocated
kernel blob buffers.
This work-around to suppress lsan is required for a customer.
Issue https://github.com/dart-lang/sdk/issues/33973
Change-Id: I8af092fcc5000970b2018ca694d06a9cc8b3208c
Reviewed-on: https://dart-review.googlesource.com/66565
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-07-26 12:09:48 +00:00
Ryan Macnak
6a4d64fe0c
[vm] Notify the service isolate of all isolate shutdowns, not just those triggered by Dart_ShutdownIsolate.
...
Bug: https://github.com/dart-lang/sdk/issues/33514
Bug: https://github.com/flutter/flutter/issues/19490
Change-Id: Ia2ffaa3aae86c771fa46ab395e93d10bba940a4c
Reviewed-on: https://dart-review.googlesource.com/66409
Reviewed-by: Alexander Aprelev <aam@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-07-24 20:51:09 +00:00
Ryan Macnak
3e59362747
[vm] Shut down application isolates before the kernel isolate.
...
Bug: https://github.com/dart-lang/sdk/issues/32134
Change-Id: I9609e8a5df77d91e2d9c007571f6388dd72d059d
Reviewed-on: https://dart-review.googlesource.com/64462
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-07-11 19:29:15 +00:00
Alexander Aprelev
828df76c85
Notify kernel service of isolate shutdown.
...
This is needed to clean up compiler associated with the isolate.
Bug: dartbug.com/33428
Change-Id: Ia5c0ac38e30d39a4feb946efca77d197c4e0d7a4
Reviewed-on: https://dart-review.googlesource.com/61113
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2018-06-20 04:01:21 +00:00
Ryan Macnak
8da46d35f5
[vm] Move heap-related code to its own subdirectory (cf. compiler).
...
Remove some dead includes.
Change-Id: I31f3e739e5ee46dcbba5d6a2f091491b46402943
Reviewed-on: https://dart-review.googlesource.com/60146
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-06-20 00:39:49 +00:00
Ryan Macnak
9b5a931b06
[vm] Replace most runtime/vm uses of OS::Print with OS::PrintErr.
...
Leave --print-snapshot-sizes on stdout because it is parsed by Flutter benchmarks.
Replace all runtime/bin uses of OS::Print with Log::Print.
Bug: https://github.com/dart-lang/sdk/issues/32134
Change-Id: I74aacfb410cdfa9270d06e7f6ab0534520c7c7ba
Reviewed-on: https://dart-review.googlesource.com/60021
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-06-13 19:51:40 +00:00
Zach Anderson
0bec11a4f2
[vm] Control growth of external allocations
...
Previously, GC would only be triggered by external allocations on
reaching a limit indicated by a flag. This limit was too large
and not set thoughtfully by anyone.
This CL triggers GC when external allocations in old gen grow
larger than some limit based on results of previous GC, similar
to how Dart heap growth triggers GC. GC is triggered for new gen
when external allocations reach 4x the current new gen
capacity.
FL-61
Change-Id: I1d4da467bc2aab64058f25296aefdd73eebc38e6
Reviewed-on: https://dart-review.googlesource.com/58100
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-06-04 17:24:18 +00:00
Martin Kustermann
35b17f3730
[VM] Consistently use ValidationPolicy in frame iteration APIs
...
Previously there were places in the code where an API accepted a
`bool validate_frames` and call sites passed an enum value (which
implicitly got converted to a bool).
By changing the APIs to require an enum, the compiler will tell us if a
caller doesn't pass one.
Change-Id: I29fcd0b018e6cdd7e00b5bb03e83b9636d1345d4
Reviewed-on: https://dart-review.googlesource.com/57823
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
2018-06-04 14:46:26 +00:00
Ryan Macnak
eb82559db2
Reapply "[vm] Add tests for determinism of script and AppJIT snapshots."
...
- Fix assembler->Stop("My address is not deterministic").
- Skip tests on -cdartk + simulators as DFE is too slow.
Bug: https://github.com/dart-lang/sdk/issues/31427
Bug: https://github.com/dart-lang/sdk/issues/33264
Change-Id: Id79a8b8c8fc4b3842fcd1d3827d6d4551890b794
Reviewed-on: https://dart-review.googlesource.com/57483
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-05-31 17:18:42 +00:00
asiva
3027302af6
[VM] Fix for issue 33277 (skip HasAttemptedReload check for kernel
...
isolate too).
Bug: 33277
Change-Id: I14c1a1b4e0fd07be6520fd8f77b9c6abddb5a5d0
Reviewed-on: https://dart-review.googlesource.com/57441
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2018-05-30 20:14:45 +00:00
Ben Konyi
e35ed9c749
[ VM / Build ] Added '--no-include-kernel-service' to build.py. By default, the kernel service is now included in all build modes, including product mode. Providing '--no-include-kernel-service' will build the specified configuration without the kernel service.
...
Change-Id: I682cd7c2895a9bcb215948615f2bdc627abe8d08
Reviewed-on: https://dart-review.googlesource.com/56286
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-05-23 20:35:53 +00:00
Ben Konyi
7cea07e4bc
[ VM / Dart 2 ] Fixed DartAPI_IsolateShutdownRunDartCode for Dart 2.
...
Change-Id: Ieb39c988fad925c8c4cd6250ea3cda3283b1b2fc
Reviewed-on: https://dart-review.googlesource.com/55023
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2018-05-15 23:21:08 +00:00
Régis Crelier
41fcbd097c
[VM runtime] Initial version of Kernel Bytecode interpreter in VM runtime.
...
Not fully working yet, only x64, no gc, no frame walking, etc...
Change-Id: I4d8357f6d46371bf21c3d54266cfe26163e3c8dc
Reviewed-on: https://dart-review.googlesource.com/50021
Commit-Queue: Régis Crelier <regis@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-05-09 20:29:27 +00:00
Ryan Macnak
607f4f5769
[vm] Get more helpful errors from Dart_SetVMFlags and Dart_MakeIsolateRunnable.
...
Bug: https://github.com/flutter/flutter/issues/12939
Change-Id: I76ddf2a6d3bb3775637d2eef87c7875c650de0a4
Reviewed-on: https://dart-review.googlesource.com/29680
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-05-01 20:54:38 +00:00
Erik Corry
c8ad75d44a
[VM] Make classes movable in sliding compactor
...
Store class sizes off heap so we can determine the size
of their instances even while the classes are moving.
R=rmacnak@google.com
Change-Id: I7b935114f76eb8b6aaa57d65e5b7cc0070afa75f
Bug: https://github.com/dart-lang/sdk/issues/30978
Reviewed-on: https://dart-review.googlesource.com/52104
Commit-Queue: Erik Corry <erikcorry@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-04-26 09:38:25 +00:00
Ryan Macnak
279e1083f1
[vm, reload] Disable check for leaked reload context.
...
The reload stress flags still have outstanding leaks.
Bug: https://github.com/dart-lang/sdk/issues/32796
Change-Id: I4b75c39270b3e5250ed4e437746e9dbb0054c875
Reviewed-on: https://dart-review.googlesource.com/49821
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-04-05 21:18:59 +00:00
Ryan Macnak
09e1766e6c
[vm] Omnibus memory leaks.
...
- Fix leak of IsolateReloadContext.
- Fix leak kernel compilation request arguments.
- Fix leak kernel compilation result errors in reload harness.
- Fix leak of class table when a schema changes but there are no instances.
- Fix leak of kernel::Reader during inlining bailout.
Bug: https://github.com/dart-lang/sdk/issues/32187
Bug: https://github.com/dart-lang/sdk/issues/28349
Change-Id: I9ccc65e018c30a3254e928a43b9727ae8d9314d6
Reviewed-on: https://dart-review.googlesource.com/49547
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-04-05 18:12:11 +00:00
Ryan Macnak
3a3d2c0167
Revert "[vm, reload] Fix leak when shape changes but there are no instances."
...
This reverts commit deed9b0653 .
Reason for revert: Debug Windows failures
Original change's description:
> [vm, reload] Fix leak when shape changes but there are no instances.
>
> Fix leak of reload context when used by the test harness.
>
> Bug: https://github.com/dart-lang/sdk/issues/28349
> Change-Id: I2d1bda5537befddbd1e615b355654a9fefc08273
> Reviewed-on: https://dart-review.googlesource.com/49321
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=bkonyi@google.com ,rmacnak@google.com
Change-Id: I6f351645e1c9af4c2cbf1bbffdc339b68a11dbd5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/28349
Reviewed-on: https://dart-review.googlesource.com/49620
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-04-04 23:23:56 +00:00
Ryan Macnak
deed9b0653
[vm, reload] Fix leak when shape changes but there are no instances.
...
Fix leak of reload context when used by the test harness.
Bug: https://github.com/dart-lang/sdk/issues/28349
Change-Id: I2d1bda5537befddbd1e615b355654a9fefc08273
Reviewed-on: https://dart-review.googlesource.com/49321
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-04-04 18:10:05 +00:00
Ryan Macnak
3db2338283
[vm] Remove old --break_at_isolate_spawn.
...
This has long been replaced with --pause_isolates_on_start.
Change-Id: Ibf5850473b0d2090ec8ff244897a214149fb250c
Reviewed-on: https://dart-review.googlesource.com/48882
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-03-30 22:52:02 +00:00
Ryan Macnak
d9c3190e44
[vm] Remove some bin -> vm includes.
...
Change-Id: Id304de9618a299a201b946a901a54352772f56fb
Reviewed-on: https://dart-review.googlesource.com/48704
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-03-28 23:16:09 +00:00
Ryan Macnak
8590919ca6
[vm] Add a timeline stream for recording the zone high watermark.
...
Change-Id: Ic7f899dbb29eb732b54d7164968a176d7b1025b9
Reviewed-on: https://dart-review.googlesource.com/45544
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-03-16 17:43:27 +00:00
Ryan Macnak
afdbce7b13
[vm, isolate] Send large TypedData as ExternalTypedData in isolate messages.
...
Be careful to free external data when reading or writing a message is interrupted, or releasing messaging without reading on shutdown.
Bug: https://github.com/dart-lang/sdk/issues/31959
Change-Id: Ia39acb9ca0e27cf9e8b83961741e5949b5930266
Reviewed-on: https://dart-review.googlesource.com/41561
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-02-21 18:57:14 +00:00
Ryan Macnak
3f40488ec4
[vm, isolate] Refactor isolate message snapshotting to centralize construction of the Message.
...
Remove unused special case in ApiMessageWriter for lists of int.
This is in preparation for ensuring we always free any external data that ends up in an isolate message.
Bug: https://github.com/dart-lang/sdk/issues/31959
Change-Id: I999656fc11d2aee9aebe70852be5bb075f234b4d
Reviewed-on: https://dart-review.googlesource.com/41020
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-02-14 00:28:01 +00:00
Ben Konyi
b853cfdbb1
[VM] Removed old space heap size limit for Kernel and Service isolates.
...
Change-Id: Ib19cc5ca22f319e41c21e6553e6228dfe0c34809
Reviewed-on: https://dart-review.googlesource.com/39420
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-02-07 00:19:25 +00:00
Martin Kustermann
cf8a6063f8
[VM] Improve AssertAssignable/InstanceOf by having a fast case for non-generic, instantiated types
...
When the type to test against is instantiated and has no type arguments
there is a high probability that we receive instances of that class or
subclasses at runtime.
This CL therefore extends the fast-path of AssertAssignable/InstanceOf
by checking whether the instance class id is within the cid ranges that
directly/indirectly implement/extend the type to test against.
Currently we have an almost depth-first preorder numbering of class ids
in AOT, but there are exceptions. So each class can have a number of
cid-ranges as subclasses / classes which implement it's interface.
This seems to improve performance of dart-aot-v2
* flutter stock build by 15+%
* DeltaBlueClosures by 10+%
and reduces code size on
* flutter gallery by -3%
Issue https://github.com/dart-lang/sdk/issues/31798
Change-Id: I07dd91589cc3fcd8c5952bdba339e2e2a459e08e
Reviewed-on: https://dart-review.googlesource.com/35620
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-01-25 07:13:42 +00:00
Ryan Macnak
880b5b4af5
Idle notification for isolates running on the thread pool.
...
If a thread pool isolate has not processed a message in FLAG_idle_timeout_micros, run idle tasks.
Change-Id: If506d7805eb1213c3d1f9383d835226822012fff
Reviewed-on: https://dart-review.googlesource.com/26004
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Zach Anderson <zra@google.com >
2018-01-17 22:01:28 +00:00
Siva Chandra
8d7bc506e0
Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
...
Attempt 2.
This reverts commit 95d9ca4776 .
Change-Id: I520a3d0f047f9435b4f3b7b728a5c6ceaf2beeb2
Reviewed-on: https://dart-review.googlesource.com/34222
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Chandra <sivachandra@google.com >
2018-01-11 22:19:49 +00:00
Erik Corry
95d9ca4776
Revert "Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags."
...
This reverts commit d858aea231 .
Reason for revert: This causes assertion failures on the Windows debug build.
Original change's description:
> Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
>
> If this field is set, then the vmservice library will be loaded into the
> isolate by the kernel loader.
>
> Change-Id: I194bc186ce5b67f1009c7d7ca996a8b687d5f912
> Reviewed-on: https://dart-review.googlesource.com/32500
> Commit-Queue: Siva Chandra <sivachandra@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TBR=sivachandra@google.com ,asiva@google.com
Change-Id: I6ea8b543940d6e08d02a81e67f67248e9164b1e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/33861
Reviewed-by: Erik Corry <erikcorry@google.com >
Commit-Queue: Erik Corry <erikcorry@google.com >
2018-01-11 09:33:38 +00:00
Siva Chandra
d858aea231
Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
...
If this field is set, then the vmservice library will be loaded into the
isolate by the kernel loader.
Change-Id: I194bc186ce5b67f1009c7d7ca996a8b687d5f912
Reviewed-on: https://dart-review.googlesource.com/32500
Commit-Queue: Siva Chandra <sivachandra@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-01-11 05:42:17 +00:00
Ryan Macnak
8fba2ea2b6
Use OOB messages to schedule compaction for Dart_NotifyLowMemory.
...
This ensures any finalizers that run during compaction happen on a thread the embedder knows about.
Bug: https://github.com/dart-lang/sdk/issues/31662
Change-Id: If1ca39fe72937ad2bc4607f7cacc4dc82e49be01
Reviewed-on: https://dart-review.googlesource.com/30040
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2017-12-19 22:38:34 +00:00
Ryan Macnak
d01d0ea8e6
[vm] Check for stack headroom before starting a hot reload.
...
Split up the StackOverflow runtime entry.
Bug: https://github.com/dart-lang/sdk/issues/31578
Change-Id: Ibe26101db1651d6e776c3da5fde6b44fd27cd00e
Reviewed-on: https://dart-review.googlesource.com/27414
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-08 18:07:31 +00:00
Ryan Macnak
5e07efa547
[vm, gc] Add Dart_NotifyLowMemory.
...
Move updating class table allocation stats before/after GC to inside the GC's safepoint.
Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: Ia15665397ae9f455c5e7e4526d3575932246bbcc
Reviewed-on: https://dart-review.googlesource.com/22805
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2017-12-06 22:45:31 +00:00
Ryan Macnak
65990d5d7e
Don't use heap iteration order when seeding the VM isolate.
...
Bug: https://github.com/dart-lang/sdk/issues/31427
Change-Id: I74c5c9f6e992bf68913178a49916892c0ef808c9
Reviewed-on: https://dart-review.googlesource.com/26440
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2017-12-06 22:24:25 +00:00
Ryan Macnak
d016d1992c
Make OOB messages and the profiler thread easier to identify.
...
Change-Id: I4ac537b5677a1d258bec050dda62e312f8caa28a
Reviewed-on: https://dart-review.googlesource.com/24721
Reviewed-by: Zach Anderson <zra@google.com >
2017-12-01 22:30:15 +00:00