forked from flutter/engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[vm/concurrency] Add patchable_call_mutex and take it in miss handlers
We serialize all changes to patchable call state to ensure we always make progress (e.g. transition from Monomorphic -> Polymorphic). Only if the miss handler actually needs to patch the patchable call do we stop mutators - if it only updates ICData we don't have to do that. => In the future we might introduce a more clever mechanism to avoid stopping mutators. The CL also moves some locks from Isolate to IsolateGroup to ensure all mutators use the same lock, since they operate on shared data structures. Issue dart-lang/sdk#36097 TEST=Existing isolate tests that --enable-isolate-groups. Change-Id: I4a11a8b8bb65581c6aba11cdf73acdea0f24a502 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174469 Reviewed-by: Alexander Aprelev <aam@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
- Loading branch information
1 parent
8cba879
commit 759caec
Showing
6 changed files
with
86 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.