Ryan Macnak
79afcf9c7d
[vm] Add Dart_SetTimelineRecorderCallback.
...
TEST=ci
Bug: b/245563515
Change-Id: I5f8ada1854be9de5bf08f4492c3166826722dbf3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/258180
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
2022-09-09 17:21:44 +00:00
Derek Xu
c9f0120220
Reland "[VM - Runtime] Return nullptr when allocating a FinalizablePersistentHandle fails"
...
This is a reland of commit b8d4e24338
How the failures were fixed:
1. My ExternalSizeLimit test crashed on msvc because I was using a
0-sized array. I have now changed that array to have size 1.
2. My ExternalSizeLimit test crashed on x64c because
ExternalTypedData::MaxElements(kExternalTypedDataUint8ArrayCid) is much
smaller than kMaxAddrSpaceMB/4 on x64c. I now call
ExternalTypedData::New() with a length argument of 1, and just pretend
that the external allocations are larger when calling
FinalizablePersistentHandle::New().
Original change's description:
> [VM - Runtime] Return nullptr when allocating a
> FinalizablePersistentHandle fails
>
> This CL adds checks to ensure that the tracked total size of
> externally allocated objects never exceeds the amount of memory on the
> system. When the limit is exceeded, then
> FinalizablePersistentHandle::New() will return nullptr.
>
> Resolves https://github.com/dart-lang/sdk/issues/49332
>
> TEST=ci
>
> Change-Id: Ib6cc92325b1d5efcb2965098fa45cfecc90995e3
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256201
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TEST=I ran the tryjobs for the configurations that broke CI.
Change-Id: I813aa74667c59a4dbec7f53440ca8d0bf21256ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256973
Reviewed-by: Ben Konyi <bkonyi@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Derek Xu <derekx@google.com >
2022-09-06 15:13:16 +00:00
Ryan Macnak
a2d5419f73
Revert "[VM - Runtime] Return nullptr when allocating a FinalizablePersistentHandle fails"
...
This reverts commit b8d4e24338 .
Reason for revert: breaks msvc, msan, x64c builds
Original change's description:
> [VM - Runtime] Return nullptr when allocating a FinalizablePersistentHandle fails
>
> This CL adds checks to ensure that the tracked total size of externally
> allocated objects never exceeds the amount of memory on the system. When
> the limit is exceeded, then FinalizablePersistentHandle::New() will
> return nullptr.
>
> Resolves https://github.com/dart-lang/sdk/issues/49332
>
> TEST=ci
>
> Change-Id: Ib6cc92325b1d5efcb2965098fa45cfecc90995e3
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256201
> Reviewed-by: Ben Konyi <bkonyi@google.com >
> Commit-Queue: Derek Xu <derekx@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TBR=bkonyi@google.com ,asiva@google.com ,dnfield@google.com ,derekx@google.com
Change-Id: I934bfbf5dc2e8e2ead5c74fe6b1d84e7b311788c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256972
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com >
2022-08-31 16:41:59 +00:00
Derek Xu
b8d4e24338
[VM - Runtime] Return nullptr when allocating a FinalizablePersistentHandle fails
...
This CL adds checks to ensure that the tracked total size of externally
allocated objects never exceeds the amount of memory on the system. When
the limit is exceeded, then FinalizablePersistentHandle::New() will
return nullptr.
Resolves https://github.com/dart-lang/sdk/issues/49332
TEST=ci
Change-Id: Ib6cc92325b1d5efcb2965098fa45cfecc90995e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256201
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Derek Xu <derekx@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2022-08-30 18:51:59 +00:00
Ryan Macnak
938a2c81d2
[vm] Add Dart_NewUnmodifiableExternalTypedDataWithFinalizer.
...
This foregoes the optimization of removing CheckWritable if the unmodifiable views are not used from Dart code.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/49784
Change-Id: I18f3c36437ef136daf875358278caca4e3e0faa0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255816
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-08-23 16:36:10 +00:00
Ryan Macnak
ae57447189
[vm] Simplify creating ByteData from the embedding API.
...
TEST=ci
Change-Id: I0d5093c0eee6ab477e73a368179aba9a23d9600f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255817
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-08-22 17:50:45 +00:00
Ryan Macnak
b3a569ea8d
[vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks.
...
In particular this affects SendPorts from dart:io's IOService and Flutter's IsolateNameServer.
TEST=ci
Bug: https://github.com/flutter/flutter/issues/109248
Change-Id: I28ed3073a6fe5583729637ae7914d914edc709e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255261
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2022-08-19 18:10:15 +00:00
Ryan Macnak
c1e67ac84f
[vm] Recognize unmodifiable typed data views.
...
These types now work with Dart_TypedDataAcquireData.
The presence of these types no longer degrades the performance of typed data indexed loads.
The presence of these types degrades the performance of typed data indexed stores much less. The performance of indexed stores is somewhat regressed if these types were not used.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/32028
Bug: https://github.com/dart-lang/sdk/issues/40924
Bug: https://github.com/dart-lang/sdk/issues/42785
Change-Id: Iffad865708501acf96db418985cd5a69bd9afa55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254501
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-08-11 18:10:48 +00:00
Ryan Macnak
10bf1cfe58
Revert "[vm] Recognize unmodifiabled typed data views."
...
This reverts commit d1112d37bd .
Reason for revert: b/242043014
Original change's description:
> [vm] Recognize unmodifiabled typed data views.
>
> These types now work with Dart_TypedDataAcquireData.
>
> The presence of these types no longer degrades the performance of typed data indexed loads.
>
> The presence of these types degrades the performance of typed data indexed stores much less. The performance of indexed stores is somewhat regressed if these types were not used.
>
> TEST=ci
> Bug: https://github.com/dart-lang/sdk/issues/32028
> Bug: https://github.com/dart-lang/sdk/issues/40924
> Bug: https://github.com/dart-lang/sdk/issues/42785
> Change-Id: I05ac5c9543f6f61ac37533b9efe511254778caed
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253700
> Reviewed-by: Aske Simon Christensen <askesc@google.com >
> Reviewed-by: Martin Kustermann <kustermann@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=kustermann@google.com ,rmacnak@google.com ,askesc@google.com
TEST=ci
Change-Id: I32c1c460fc30c51bc0d42e7cfaafe72bf5630069
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/32028
Bug: https://github.com/dart-lang/sdk/issues/40924
Bug: https://github.com/dart-lang/sdk/issues/42785
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/254560
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-08-10 20:08:22 +00:00
Ryan Macnak
d1112d37bd
[vm] Recognize unmodifiabled typed data views.
...
These types now work with Dart_TypedDataAcquireData.
The presence of these types no longer degrades the performance of typed data indexed loads.
The presence of these types degrades the performance of typed data indexed stores much less. The performance of indexed stores is somewhat regressed if these types were not used.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/32028
Bug: https://github.com/dart-lang/sdk/issues/40924
Bug: https://github.com/dart-lang/sdk/issues/42785
Change-Id: I05ac5c9543f6f61ac37533b9efe511254778caed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253700
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-08-09 20:57:05 +00:00
Ryan Macnak
c6a1eb1b61
[vm, gc] Very basic RAIL.
...
Related to https://github.com/dart-lang/sdk/issues/47574
TEST=ci
Change-Id: I2f07be6150b025a301e6e4d10935b606087cdf00
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252462
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-07-27 16:40:38 +00:00
Ryan Macnak
2d13b205d7
Reland "[vm] Generate event ids for synchronous begin and end events."
...
Fix transposed id and timestamp.
TEST=Instruments, ci
Bug: https://github.com/dart-lang/sdk/issues/49178
Change-Id: I2c2650f28050b179d26e1269729727f58201a8a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251581
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2022-07-22 19:13:47 +00:00
Gary Qian
03e5f9f941
Revert "Reland "[vm] Generate event ids for synchronous begin and end events.""
...
This reverts commit 05e5664ad6 .
Reason for revert: Blocking Flutter engine -> framework roll, https://github.com/flutter/flutter/pull/107653/checks?check_run_id=7341814911
Invalid argument(s): durations is empty!
package:flutter_driver/src/driver/timeline_summary.dart 414:7 TimelineSummary._averageInMillis
package:flutter_driver/src/driver/timeline_summary.dart 72:12 TimelineSummary.computeAverageFrameRasterizerTimeMillis
package:flutter_driver/src/driver/timeline_summary.dart 232:47 TimelineSummary.summaryJson
Original change's description:
> Reland "[vm] Generate event ids for synchronous begin and end events."
>
> TEST=Instruments
> Bug: https://github.com/dart-lang/sdk/issues/49178
> Change-Id: I5ecb76e468d32e120de338e802ec313a7f50a49c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251144
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Siva Annamalai <asiva@google.com >
TBR=rmacnak@google.com ,asiva@google.com
Change-Id: I52fffe00ec141a486241fa8719d4cf12df168384
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/49178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251561
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2022-07-14 17:21:25 +00:00
Ryan Macnak
05e5664ad6
Reland "[vm] Generate event ids for synchronous begin and end events."
...
TEST=Instruments
Bug: https://github.com/dart-lang/sdk/issues/49178
Change-Id: I5ecb76e468d32e120de338e802ec313a7f50a49c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251144
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2022-07-13 21:59:33 +00:00
Ben Konyi
4dcada2bf8
[ VM ] Print more useful error message when trying to run a program with no main
...
Fixes https://github.com/dart-lang/sdk/issues/49432
TEST=Manual verification
Change-Id: Iba652016dc62306a883587b05506ee76cc650c20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/251122
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ben Konyi <bkonyi@google.com >
2022-07-12 17:21:32 +00:00
Zach Anderson
d7df61e042
Revert "[vm] Generate event ids for synchronous begin and end events."
...
This reverts commit 7fe44864d6 .
Reason for revert: https://github.com/flutter/flutter/issues/106957
Original change's description:
> [vm] Generate event ids for synchronous begin and end events.
>
> os_signposts needs explicit ids to match begin and end events, whereas all other trace systems do this implicitly.
>
> TEST=Instruments
> Bug: https://github.com/dart-lang/sdk/issues/49178
> Change-Id: Ifeeaa1dfe823a0d5668f48b8c584f8bdeef23212
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249951
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,asiva@google.com
Change-Id: Id86959d08b5352b5446b6f294a8302b88b4fa0c8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/49178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250403
Reviewed-by: Zach Anderson <zra@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Liam Appelbe <liama@google.com >
2022-07-01 16:08:40 +00:00
Ryan Macnak
7fe44864d6
[vm] Generate event ids for synchronous begin and end events.
...
os_signposts needs explicit ids to match begin and end events, whereas all other trace systems do this implicitly.
TEST=Instruments
Bug: https://github.com/dart-lang/sdk/issues/49178
Change-Id: Ifeeaa1dfe823a0d5668f48b8c584f8bdeef23212
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249951
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-06-30 16:48:36 +00:00
Ryan Macnak
1c461e06c1
[vm, gc] Make force-growth a thread-local property.
...
Don't evaluate concurrent marking on new-space page allocation or external allocation under force-growth scopes.
TEST=ci, tsan
Bug: https://github.com/dart-lang/sdk/issues/49344
Bug: https://github.com/dart-lang/sdk/issues/48377
Bug: https://github.com/dart-lang/sdk/issues/48607
Change-Id: Ieff3880bd29228804419ef292a41ba4d502c2c80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250223
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2022-06-30 00:21:36 +00:00
Alexander Aprelev
abeaa03148
[vm/heap/metrics] Remove deprecated isolate-based vm heap statistic messages.
...
Fixes https://dartbug.com/49211
TEST=ci
Change-Id: Icddbebccf84f226b2ac89acb9153353d84658079
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248680
Reviewed-by: Slava Egorov <vegorov@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2022-06-16 15:27:49 +00:00
Alexander Aprelev
1fddb10107
[vm/heap/metrics] Make sure heap-related metric are reported for the isolate group, rather than isolate.
...
TEST=ci
Change-Id: Ie0514f05c0a024ce37f10d56dd29b3fa921133d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247504
Reviewed-by: Slava Egorov <vegorov@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2022-06-08 18:01:02 +00:00
Ryan Macnak
4c82eb5836
Reland "[vm, compiler] Prune dictionaries to only contain elements needed at runtime."
...
This is a reland of commit 6de162e014
Original change's description:
> [vm, compiler] Prune dictionaries to only contain elements needed at runtime.
>
> flutter_gallery
> Isolate(CodeSize): 2116400 -> 1981238 (-6.28%)
> Total(CodeSize): 7217938 -> 7082600 (-1.87%)
>
> TEST=ci
> Bug: https://github.com/dart-lang/sdk/issues/48910
> Change-Id: I8cd285ddab3a611cd7a2a91d50414be402f8543a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244303
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/48910
Change-Id: I3d3ecd04369585547963fb3efff1b3ff0723d8f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246990
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2022-06-03 00:09:25 +00:00
Siva Annamalai
1e7bc687a7
Revert "[vm, compiler] Prune dictionaries to only contain elements needed at runtime."
...
This reverts commit 6de162e014 .
Reason for revert: Local testing of a large Flutter app with this change causes the app to crash on startup
Original change's description:
> [vm, compiler] Prune dictionaries to only contain elements needed at runtime.
>
> flutter_gallery
> Isolate(CodeSize): 2116400 -> 1981238 (-6.28%)
> Total(CodeSize): 7217938 -> 7082600 (-1.87%)
>
> TEST=ci
> Bug: https://github.com/dart-lang/sdk/issues/48910
> Change-Id: I8cd285ddab3a611cd7a2a91d50414be402f8543a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244303
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/48910
Change-Id: Ie51f004e84970907fa1233e8e7c3ed63e2da1c4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246683
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2022-06-01 00:58:24 +00:00
Ryan Macnak
6de162e014
[vm, compiler] Prune dictionaries to only contain elements needed at runtime.
...
flutter_gallery
Isolate(CodeSize): 2116400 -> 1981238 (-6.28%)
Total(CodeSize): 7217938 -> 7082600 (-1.87%)
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/48910
Change-Id: I8cd285ddab3a611cd7a2a91d50414be402f8543a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/244303
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-05-25 15:55:38 +00:00
asiva
d437877c50
[VM/Runtime] - Ensure ReusableObjectHandleScope is not active when
...
Errors are reported from the Dart C API implementation.
TEST=ci
Fixed: 48951
Change-Id: I954d8ef3a6b148e45335cc7c264eb542ae10bc7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/243842
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2022-05-05 22:15:45 +00:00
Ryan Macnak
da89828077
[vm] Remove hooks for the embedder to provide a task runner in lieu of the VM's thread pool.
...
This reverts commit dc3cf83bb6 .
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/44228
Change-Id: Ia8da6424fd4ebc67e0a2a50e37b1930b4aea5628
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231042
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-04-18 20:34:57 +00:00
Vyacheslav Egorov
47ec77122a
[vm] Improve crash reporting for gen_snapshot
...
* Use CompilerPass::GenerateCode in AOT to ensure we print
the graph if the code generation crashes.
* Enable Dart_DumpNativeStackTrace in gen_snapshot even in
PRODUCT builds.
Additionally enable disassembler in gen_snapshot even in
PRODUCT builds.
TEST=tested manually
Change-Id: I951d62ca07c7882fa1d8e765d4b5ffd26edd9456
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233880
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Auto-Submit: Slava Egorov <vegorov@google.com >
Commit-Queue: Slava Egorov <vegorov@google.com >
2022-03-11 09:20:36 +00:00
Ryan Macnak
81143e16c4
[vm, gc] Don't perform blocking compactions in response to Dart_NotifyLowMemory.
...
These GCs usually did not free very much memory but did consume a lot of CPU. They would on low-powered, low-memory devices often take ~1s, during which time the OS might decide the OOM signal wasn't working and kill us before the compaction can complete and free pages. Instead, only release pooled memory.
Also use more appropriate GCReasons in calls of CollectMost/AllGarbage.
TEST=ci
Bug: b/216333343
Change-Id: Ia56b9ca409410f17d40508c69fb1bc9df0ce4028
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235300
Reviewed-by: Slava Egorov <vegorov@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-03-08 22:42:46 +00:00
Ryan Macnak
24c6190db7
[vm] Fix --verify_acquired_data.
...
Checks involving the untraced acquired table must run before GC.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/48503
Change-Id: Ie71dcf3468addba64f5789aad0c03d0163380049
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235264
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2022-03-03 22:42:01 +00:00
Ryan Macnak
2829bfdf25
[vm] Avoid repeating parameters from prematurely destructuring Dart_InitializeParams.
...
TEST=ci
Change-Id: I39288fc4d79c5933d5c8b274c0a66bdd25f6bf29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231529
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-02-11 00:55:11 +00:00
Ryan Macnak
08164f88c9
[vm] Add missing safepoint transition when updating or deleting API handles.
...
TEST=tsan, iso-stress
Change-Id: I82f8fb8ef3bbedf510e34488fdaa7d8af5902830
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231332
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-02-03 00:41:07 +00:00
Ryan Macnak
85b79f0856
[vm, gc] Refactor the concurrent sweeper so that work-in-progress is accessible to other threads.
...
This is prep work for allowing the main thread to contribute during idle time or when waiting for the sweeper to catch up.
TEST=ci
Change-Id: Ia25c61a448bf5d2dada7d5b494ea08f3526d8740
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228725
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-01-24 18:44:01 +00:00
Ryan Macnak
884f765500
[vm] Remove --verify_handles.
...
TEST=ci
Change-Id: I22a84596f44d43133806b121a6404a41a00a38f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228901
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-01-21 21:24:20 +00:00
Ryan Macnak
4088cd083d
[vm] Add missing Dart_ThreadStartCallback.
...
For symmetry with Dart_ThreadExitCallback. Can be used by an embedder to change thread priority or attach native resources to the thread.
TEST=ci
Change-Id: Ic8eaba7204d0be42db26523b62cbfac3ecb7151f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227661
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-01-19 23:14:36 +00:00
Ryan Macnak
a5554dc945
[vm] Remove disused Dart_HintFreed.
...
Uses of this API were replaced with explicit disposal.
TEST=ci
Change-Id: Id6c391c74d77e6a6c6b5b70e446a8abe92294b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228081
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-01-18 21:46:55 +00:00
Ryan Macnak
afe3c12b25
[vm] Move handles for the no-callbacks and unwind-in-progress errors to the VM isolate so there is no Dart allocation and no handle allocation during these errors.
...
TEST=ci
Change-Id: I0567cf8a9b4361df312cb4958fc7438296b65604
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226605
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2022-01-06 18:38:28 +00:00
Alexander Aprelev
eb4eade02a
[vm/gen_snapshot] Avoid redundant compilation when generating kernel snapshot.
...
Fixes https://github.com/dart-lang/sdk/issues/39580
TEST=ci
Change-Id: I98e7201350433754c9ff1746e1d6e24b7107099e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/225740
Reviewed-by: Slava Egorov <vegorov@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2022-01-05 17:51:26 +00:00
Ryan Macnak
dc3cf83bb6
[vm] Allow the embedder to provide a task runner in lieu of the VM's thread pool.
...
This allows the embedder to control the degree of parallelism and thread priorities.
TEST=engine
Bug: https://github.com/dart-lang/sdk/issues/44228
Change-Id: I4e8430749fcfbcbfc221c3733ee27ccbe6bcc1ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215941
Reviewed-by: Kaushik Iska <kaushikiska@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2021-11-18 00:54:20 +00:00
asiva
3edd0832d6
[VM/Runtime] - Remove unused Dart C API function
...
Remove Dart_SetNativeServiceStreamCallback which is not in use by
any embedder.
TEST=cq
Change-Id: Ic6ecadb80d94b14cd2f89b5297d65c3ab7de75e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220131
Reviewed-by: Clement Skau <cskau@google.com >
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2021-11-16 16:59:13 +00:00
asiva
bbff4d9589
[VM/Runtime] - Add Dart C API function to toggle timeline categories.
...
Add Dart C API Function Dart_EnableTimelineCategory that enables
toggling of timeline categories at runtime.
https://github.com/dart-lang/sdk/issues/47601
TEST=Dart C API tests added
Change-Id: Ib38c8ab0a8d43c9180e9cb9ade107f8bad5f5e63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219943
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2021-11-11 01:25:04 +00:00
Siva Annamalai
68b6665e42
Revert "[VM/Runtime] - Add Dart C API function to toggle timeline categories."
...
This reverts commit 8e90a9ec86 .
Reason for revert: Breaks PRODUCT builds
Original change's description:
> [VM/Runtime] - Add Dart C API function to toggle timeline categories.
>
> Add Dart C API Function Dart_EnableTimelineCategory that enables
> toggling of timeline categories at runtime.
>
> https://github.com/dart-lang/sdk/issues/47601
>
> TEST=Dart C API tests added
>
> Change-Id: I679e755d69d1375552e3a02e887ac00f828553d0
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219860
> Commit-Queue: Siva Annamalai <asiva@google.com >
> Reviewed-by: Ryan Macnak <rmacnak@google.com >
TBR=bkonyi@google.com ,rmacnak@google.com ,asiva@google.com
Change-Id: Ib8198d1466d23fefac415088b5566a4e22ba2e91
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219941
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2021-11-10 23:33:15 +00:00
asiva
8e90a9ec86
[VM/Runtime] - Add Dart C API function to toggle timeline categories.
...
Add Dart C API Function Dart_EnableTimelineCategory that enables
toggling of timeline categories at runtime.
https://github.com/dart-lang/sdk/issues/47601
TEST=Dart C API tests added
Change-Id: I679e755d69d1375552e3a02e887ac00f828553d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219860
Commit-Queue: Siva Annamalai <asiva@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2021-11-10 22:25:14 +00:00
Alexander Aprelev
8f864523ff
Reland "[vm/concurrency] Remove --(no-)enable-isolate-groups flag in Dart VM"
...
This reverts commit 6828fd752e as
internal use of flag that forced the original revert has been removed via 408658160 and
408425059 cls.
TEST=ci
Change-Id: I9d4ae3c01bef938ce6e111afedfdb1ca6525bdac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219840
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2021-11-10 15:29:13 +00:00
Emmanuel Pellereau
6828fd752e
Revert "[vm/concurrency] Remove --(no-)enable-isolate-groups flag in Dart VM"
...
This reverts commit f8df8ca78e .
Reason for revert: breaks google3 (b/205519688)
Original change's description:
> [vm/concurrency] Remove --(no-)enable-isolate-groups flag in Dart VM
>
> The --enable-isolate-groups flag has been turned on by-default for
> months now. In this CL we're going to remove the opt-out of this (which
> was possible by explicitly passing --no-enable-isolate-groups to the VM)
>
> TEST=Existing CI. Removes flag and simplifies runtime.
>
> Change-Id: I8706b9e30df437548a81846e75e67a658d6d49d4
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219480
> Reviewed-by: Alexander Aprelev <aam@google.com >
> Commit-Queue: Martin Kustermann <kustermann@google.com >
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Iabe6ccda6c184bb183b54a056d5011e657265d1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219700
Reviewed-by: Emmanuel Pellereau <emmanuelp@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Emmanuel Pellereau <emmanuelp@google.com >
2021-11-08 11:12:19 +00:00
Martin Kustermann
f8df8ca78e
[vm/concurrency] Remove --(no-)enable-isolate-groups flag in Dart VM
...
The --enable-isolate-groups flag has been turned on by-default for
months now. In this CL we're going to remove the opt-out of this (which
was possible by explicitly passing --no-enable-isolate-groups to the VM)
TEST=Existing CI. Removes flag and simplifies runtime.
Change-Id: I8706b9e30df437548a81846e75e67a658d6d49d4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219480
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
2021-11-05 15:38:13 +00:00
Ryan Macnak
fbcacd7c05
Reapply "[vm] Streamline Zones."
...
Fix imprecision in Zone::SizeInBytes that was finally noticed by vm/cc/AllocateZone because the size of the initial inline buffer changed.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/47399
Change-Id: I152d24d03a59b21267a9a24e5d929b51af57af71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215980
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2021-10-14 00:10:12 +00:00
Ryan Macnak
472e2bce17
Revert "[vm] Streamline Zones."
...
This reverts commit b5922e6db4 .
Reason for revert: vm/cc/AllocateZone fails on Mac
Original change's description:
> [vm] Streamline Zones.
>
> - Don't put a HANDLESCOPE right after a StackZone, as there's no state worth restoring
> - Remove remaining zone bookkeeping dead since e3a9d70591 .
> - Remove unnecessary resetting of handle blocks before zone deletion.
> - Shrink initial chunk size to make Zone's overall size fit in a faster malloc size class.
>
> TEST=ci
> Change-Id: I920e12f5af93aa71fb876435764c60df485215f9
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212261
> Reviewed-by: Siva Annamalai <asiva@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,asiva@google.com
Change-Id: Id23dcebb781791616e48e54d2dcd7e58159178bc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215943
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2021-10-06 23:44:33 +00:00
Ryan Macnak
b5922e6db4
[vm] Streamline Zones.
...
- Don't put a HANDLESCOPE right after a StackZone, as there's no state worth restoring
- Remove remaining zone bookkeeping dead since e3a9d70591 .
- Remove unnecessary resetting of handle blocks before zone deletion.
- Shrink initial chunk size to make Zone's overall size fit in a faster malloc size class.
TEST=ci
Change-Id: I920e12f5af93aa71fb876435764c60df485215f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212261
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2021-10-06 22:22:32 +00:00
Ryan Macnak
1a4d708580
[vm] Remove disused "mode" argument in timeline events.
...
TEST=ci
Change-Id: I746f592d30c5e4384a451c131d357d5843807567
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215642
Reviewed-by: Ben Konyi <bkonyi@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2021-10-06 16:30:19 +00:00
Alexander Aprelev
c65556cfc0
[vm/unwind] Ensure no dart api calls happen after unwind error raised.
...
TEST=DartAPI_EnsureUnwindError*
Change-Id: Ic14e806c34635954cb04a759f5915809dec1ad34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214762
Commit-Queue: Alexander Aprelev <aam@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2021-09-28 21:38:03 +00:00
Ryan Macnak
d89e42bef5
[vm] Rename clustered_snapshot.h/cc to app_snapshot.h/cc.
...
Since bbefc05748 , both serialization formats in the VM are based on clustering. The distinguishing feature of the older clustered serializer is that it represents apps/programs rather than messages.
TEST=ci
Change-Id: If3185c21c6aadeec61a940b12ba23d17f2752761
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211501
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
2021-09-16 00:13:34 +00:00