diff options
| author | 2016-10-14 14:28:47 -0700 | |
|---|---|---|
| committer | 2016-10-14 14:38:43 -0700 | |
| commit | 5d3f73aef1b778d81ba101ece41935adee259cf2 (patch) | |
| tree | fec0c2fdbb88df0a366e29b6470d1274aa6e2ec1 /runtime/gc/reference_processor.h | |
| parent | cfdff144f154df876987fefb340058a975c43381 (diff) | |
Move reference processor and mirror::Reference to ObjPtr
Bug: 31113334
Test: test-art-host
Change-Id: I2c7c3dfd88ebf12a0de271436f8a7781f997e061
Diffstat (limited to 'runtime/gc/reference_processor.h')
| -rw-r--r-- | runtime/gc/reference_processor.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/runtime/gc/reference_processor.h b/runtime/gc/reference_processor.h index 4788f8a3c0..759b7e129c 100644 --- a/runtime/gc/reference_processor.h +++ b/runtime/gc/reference_processor.h @@ -46,7 +46,9 @@ class Heap; class ReferenceProcessor { public: explicit ReferenceProcessor(); - void ProcessReferences(bool concurrent, TimingLogger* timings, bool clear_soft_references, + void ProcessReferences(bool concurrent, + TimingLogger* timings, + bool clear_soft_references, gc::collector::GarbageCollector* collector) REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(Locks::heap_bitmap_lock_) @@ -57,16 +59,17 @@ class ReferenceProcessor { void EnableSlowPath() REQUIRES_SHARED(Locks::mutator_lock_); void BroadcastForSlowPath(Thread* self); // Decode the referent, may block if references are being processed. - mirror::Object* GetReferent(Thread* self, mirror::Reference* reference) + ObjPtr<mirror::Object> GetReferent(Thread* self, ObjPtr<mirror::Reference> reference) REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::reference_processor_lock_); void EnqueueClearedReferences(Thread* self) REQUIRES(!Locks::mutator_lock_); - void DelayReferenceReferent(mirror::Class* klass, mirror::Reference* ref, + void DelayReferenceReferent(ObjPtr<mirror::Class> klass, + ObjPtr<mirror::Reference> ref, collector::GarbageCollector* collector) REQUIRES_SHARED(Locks::mutator_lock_); void UpdateRoots(IsMarkedVisitor* visitor) REQUIRES_SHARED(Locks::mutator_lock_, Locks::heap_bitmap_lock_); // Make a circular list with reference if it is not enqueued. Uses the finalizer queue lock. - bool MakeCircularListIfUnenqueued(mirror::FinalizerReference* reference) + bool MakeCircularListIfUnenqueued(ObjPtr<mirror::FinalizerReference> reference) REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::reference_processor_lock_, !Locks::reference_queue_finalizer_references_lock_); |