Lines Matching refs:Reference
36 class Reference;
47 // Used to temporarily store java.lang.ref.Reference(s) during GC and prior to queueing on the
49 // circular, and singly-linked list using the pendingNext fields of the java.lang.ref.Reference
55 // Enqueue a reference if it is unprocessed. Thread safe to call from multiple
58 void AtomicEnqueueIfNotEnqueued(Thread* self, ObjPtr<mirror::Reference> ref)
61 // Enqueue a reference. The reference must be unprocessed.
63 void EnqueueReference(ObjPtr<mirror::Reference> ref) REQUIRES_SHARED(Locks::mutator_lock_);
65 // Dequeue a reference from the queue and return that dequeued reference.
66 // Call DisableReadBarrierForReference for the reference that's returned from this function.
67 ObjPtr<mirror::Reference> DequeuePendingReference() REQUIRES_SHARED(Locks::mutator_lock_);
69 // If applicable, disable the read barrier for the reference after its referent is handled (see
70 // ConcurrentCopying::ProcessMarkStackRef.) This must be called for a reference that's dequeued
72 void DisableReadBarrierForReference(ObjPtr<mirror::Reference> ref)
81 // Walks the reference list marking any references subject to the reference clearing policy.
87 // Unlink the reference list clearing references objects with white referents. Cleared references
88 // registered to a reference queue are scheduled for appending by the heap worker thread.
102 mirror::Reference* GetList() REQUIRES_SHARED(Locks::mutator_lock_) {
111 // Lock, used for parallel GC reference enqueuing. It allows for multiple threads simultaneously
114 // The actual reference list. Only a root for the mark compact GC since it will be null for other
116 mirror::Reference* list_;