[vm/shared] Introduce NativeCallable.isolateGroupShared

This method allows for synchronous execution of dart callbacks from native code. The execution happens on dart mutator thread, from which dart code can only access isolate-group variables - those which are tagged with .

Bug: https://github.com/dart-lang/sdk/issues/54530
Bug: https://github.com/dart-lang/sdk/issues/56841
Change-Id: Ia1a6b01327be493f003f1eea82e558bb6b147dd3
CoreLibraryReviewExempt: only internal library change
TEST=isolate_group_shared_callback_test
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/422920
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
This commit is contained in:
Alexander Aprelev
2025-05-06 13:28:44 -07:00
committed by Commit Queue
parent 7431e885e8
commit 50e0e0d99d
44 changed files with 1225 additions and 121 deletions
-2
View File
@@ -1552,8 +1552,6 @@ void Thread::SetupMutatorState() {
DeferredMarkingStackAcquire();
}
// TODO(koda): Use StoreBufferAcquire once we properly flush
// before Scavenge.
if (task_kind_ == kMutatorTask) {
StoreBufferAcquire();
} else {