759caec558
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 https://github.com/dart-lang/sdk/issues/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>