Lines Matching refs:self

73 void ReferenceProcessor::DisableSlowPath(Thread* self) {  in DisableSlowPath()  argument
75 condition_.Broadcast(self); in DisableSlowPath()
84 void ReferenceProcessor::BroadcastForSlowPath(Thread* self) { in BroadcastForSlowPath() argument
85 MutexLock mu(self, *Locks::reference_processor_lock_); in BroadcastForSlowPath()
86 condition_.Broadcast(self); in BroadcastForSlowPath()
89 ObjPtr<mirror::Object> ReferenceProcessor::GetReferent(Thread* self, in GetReferent() argument
91 if (!kUseReadBarrier || self->GetWeakRefAccessEnabled()) { in GetReferent()
102 MutexLock mu(self, *Locks::reference_processor_lock_); in GetReferent()
104 (kUseReadBarrier && !self->GetWeakRefAccessEnabled())) { in GetReferent()
134 self->CheckEmptyCheckpointFromWeakRefAccess(Locks::reference_processor_lock_); in GetReferent()
135 condition_.WaitHoldingLocks(self); in GetReferent()
140 void ReferenceProcessor::StartPreservingReferences(Thread* self) { in StartPreservingReferences() argument
141 MutexLock mu(self, *Locks::reference_processor_lock_); in StartPreservingReferences()
145 void ReferenceProcessor::StopPreservingReferences(Thread* self) { in StopPreservingReferences() argument
146 MutexLock mu(self, *Locks::reference_processor_lock_); in StopPreservingReferences()
149 condition_.Broadcast(self); in StopPreservingReferences()
158 Thread* self = Thread::Current(); in ProcessReferences() local
160 MutexLock mu(self, *Locks::reference_processor_lock_); in ProcessReferences()
166 CHECK_EQ(!self->GetWeakRefAccessEnabled(), concurrent); in ProcessReferences()
182 StartPreservingReferences(self); in ProcessReferences()
189 StopPreservingReferences(self); in ProcessReferences()
199 StartPreservingReferences(self); in ProcessReferences()
205 StopPreservingReferences(self); in ProcessReferences()
219 MutexLock mu(self, *Locks::reference_processor_lock_); in ProcessReferences()
227 DisableSlowPath(self); in ProcessReferences()
253 Thread* self = Thread::Current(); in DelayReferenceReferent() local
258 soft_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
260 weak_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
262 finalizer_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
264 phantom_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
293 SelfDeletingTask* ReferenceProcessor::CollectClearedReferences(Thread* self) { in CollectClearedReferences() argument
294 Locks::mutator_lock_->AssertNotHeld(self); in CollectClearedReferences()
303 ReaderMutexLock mu(self, *Locks::mutator_lock_); in CollectClearedReferences()
304 cleared_references = self->GetJniEnv()->GetVm()->AddGlobalRef( in CollectClearedReferences()
305 self, cleared_references_.GetList()); in CollectClearedReferences()
311 self, new ClearedReferenceTask(cleared_references)); in CollectClearedReferences()
322 Thread* self = Thread::Current(); in ClearReferent() local
323 MutexLock mu(self, *Locks::reference_processor_lock_); in ClearReferent()
328 WaitUntilDoneProcessingReferences(self); in ClearReferent()
336 void ReferenceProcessor::WaitUntilDoneProcessingReferences(Thread* self) { in WaitUntilDoneProcessingReferences() argument
339 (kUseReadBarrier && !self->GetWeakRefAccessEnabled())) { in WaitUntilDoneProcessingReferences()
342 self->CheckEmptyCheckpointFromWeakRefAccess(Locks::reference_processor_lock_); in WaitUntilDoneProcessingReferences()
343 condition_.WaitHoldingLocks(self); in WaitUntilDoneProcessingReferences()
349 Thread* self = Thread::Current(); in MakeCircularListIfUnenqueued() local
350 MutexLock mu(self, *Locks::reference_processor_lock_); in MakeCircularListIfUnenqueued()
351 WaitUntilDoneProcessingReferences(self); in MakeCircularListIfUnenqueued()
358 MutexLock mu2(self, *Locks::reference_queue_finalizer_references_lock_); in MakeCircularListIfUnenqueued()