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.h13
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: