diff options
Diffstat (limited to 'runtime/runtime.h')
-rw-r--r-- | runtime/runtime.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/runtime/runtime.h b/runtime/runtime.h index 6abe682d4b..6806180de5 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -107,9 +107,7 @@ enum VisitRootFlags : uint8_t { kVisitRootFlagStartLoggingNewRoots = 0x4, kVisitRootFlagStopLoggingNewRoots = 0x8, kVisitRootFlagClearRootLog = 0x10, - // Non moving means we can have optimizations where we don't visit some roots if they are - // definitely reachable from another location. E.g. ArtMethod and ArtField roots. - kVisitRootFlagNonMoving = 0x20, + kVisitRootFlagClassLoader = 0x20, }; class Runtime { @@ -321,7 +319,10 @@ class Runtime { void DisallowNewSystemWeaks() REQUIRES_SHARED(Locks::mutator_lock_); void AllowNewSystemWeaks() REQUIRES_SHARED(Locks::mutator_lock_); - void BroadcastForNewSystemWeaks() REQUIRES_SHARED(Locks::mutator_lock_); + // broadcast_for_checkpoint is true when we broadcast for making blocking threads to respond to + // checkpoint requests. It's false when we broadcast to unblock blocking threads after system weak + // access is reenabled. + void BroadcastForNewSystemWeaks(bool broadcast_for_checkpoint = false); // Visit all the roots. If only_dirty is true then non-dirty roots won't be visited. If // clean_dirty is true then dirty roots will be marked as non-dirty after visiting. |