diff options
Diffstat (limited to 'runtime/gc/reference_queue.h')
| -rw-r--r-- | runtime/gc/reference_queue.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/runtime/gc/reference_queue.h b/runtime/gc/reference_queue.h index c45be8591f..7d9ddf698e 100644 --- a/runtime/gc/reference_queue.h +++ b/runtime/gc/reference_queue.h @@ -36,6 +36,10 @@ class Reference; namespace gc { +namespace collector { +class GarbageCollector; +} // namespace collector + class Heap; // Used to temporarily store java.lang.ref.Reference(s) during GC and prior to queueing on the @@ -65,20 +69,19 @@ class ReferenceQueue { // Enqueues finalizer references with white referents. White referents are blackened, moved to // the zombie field, and the referent field is cleared. void EnqueueFinalizerReferences(ReferenceQueue* cleared_references, - IsHeapReferenceMarkedCallback* is_marked_callback, - MarkObjectCallback* mark_object_callback, void* arg) + collector::GarbageCollector* collector) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); // Walks the reference list marking any references subject to the reference clearing policy. // References with a black referent are removed from the list. References with white referents // biased toward saving are blackened and also removed from the list. - void ForwardSoftReferences(IsHeapReferenceMarkedCallback* preserve_callback, void* arg) + void ForwardSoftReferences(MarkObjectVisitor* visitor) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); // Unlink the reference list clearing references objects with white referents. Cleared references // registered to a reference queue are scheduled for appending by the heap worker thread. void ClearWhiteReferences(ReferenceQueue* cleared_references, - IsHeapReferenceMarkedCallback* is_marked_callback, void* arg) + collector::GarbageCollector* collector) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); void Dump(std::ostream& os) const SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); @@ -95,7 +98,7 @@ class ReferenceQueue { } // Visits list_, currently only used for the mark compact GC. - void UpdateRoots(IsMarkedCallback* callback, void* arg) + void UpdateRoots(IsMarkedVisitor* visitor) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); private: |