summaryrefslogtreecommitdiff
path: root/runtime/gc/reference_queue.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/gc/reference_queue.h')
-rw-r--r--runtime/gc/reference_queue.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/gc/reference_queue.h b/runtime/gc/reference_queue.h
index 3fda7167d4..69f04d783a 100644
--- a/runtime/gc/reference_queue.h
+++ b/runtime/gc/reference_queue.h
@@ -80,8 +80,10 @@ class ReferenceQueue {
// If applicable, disable the read barrier for the reference after its referent is handled (see
// ConcurrentCopying::ProcessMarkStackRef.) This must be called for a reference that's dequeued
- // from pending queue (DequeuePendingReference).
- void DisableReadBarrierForReference(ObjPtr<mirror::Reference> ref)
+ // from pending queue (DequeuePendingReference). 'order' is expected to be
+ // 'release' if called outside 'weak-ref access disabled' critical section.
+ // Otherwise 'relaxed' order will suffice.
+ void DisableReadBarrierForReference(ObjPtr<mirror::Reference> ref, std::memory_order order)
REQUIRES_SHARED(Locks::mutator_lock_);
// Enqueues finalizer references with white referents. White referents are blackened, moved to