• Home
  • Raw
  • Download

Lines Matching refs:self

54 void ReferenceProcessor::DisableSlowPath(Thread* self) {  in DisableSlowPath()  argument
56 condition_.Broadcast(self); in DisableSlowPath()
59 void ReferenceProcessor::BroadcastForSlowPath(Thread* self) { in BroadcastForSlowPath() argument
60 MutexLock mu(self, *Locks::reference_processor_lock_); in BroadcastForSlowPath()
61 condition_.Broadcast(self); in BroadcastForSlowPath()
64 ObjPtr<mirror::Object> ReferenceProcessor::GetReferent(Thread* self, in GetReferent() argument
66 if (!kUseReadBarrier || self->GetWeakRefAccessEnabled()) { in GetReferent()
77 MutexLock mu(self, *Locks::reference_processor_lock_); in GetReferent()
79 (kUseReadBarrier && !self->GetWeakRefAccessEnabled())) { in GetReferent()
109 self->CheckEmptyCheckpointFromWeakRefAccess(Locks::reference_processor_lock_); in GetReferent()
110 condition_.WaitHoldingLocks(self); in GetReferent()
115 void ReferenceProcessor::StartPreservingReferences(Thread* self) { in StartPreservingReferences() argument
116 MutexLock mu(self, *Locks::reference_processor_lock_); in StartPreservingReferences()
120 void ReferenceProcessor::StopPreservingReferences(Thread* self) { in StopPreservingReferences() argument
121 MutexLock mu(self, *Locks::reference_processor_lock_); in StopPreservingReferences()
124 condition_.Broadcast(self); in StopPreservingReferences()
133 Thread* self = Thread::Current(); in ProcessReferences() local
135 MutexLock mu(self, *Locks::reference_processor_lock_); in ProcessReferences()
141 CHECK_EQ(!self->GetWeakRefAccessEnabled(), concurrent); in ProcessReferences()
157 StartPreservingReferences(self); in ProcessReferences()
164 StopPreservingReferences(self); in ProcessReferences()
174 StartPreservingReferences(self); in ProcessReferences()
180 StopPreservingReferences(self); in ProcessReferences()
194 MutexLock mu(self, *Locks::reference_processor_lock_); in ProcessReferences()
202 DisableSlowPath(self); in ProcessReferences()
228 Thread* self = Thread::Current(); in DelayReferenceReferent() local
233 soft_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
235 weak_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
237 finalizer_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
239 phantom_reference_queue_.AtomicEnqueueIfNotEnqueued(self, ref); in DelayReferenceReferent()
268 void ReferenceProcessor::EnqueueClearedReferences(Thread* self) { in EnqueueClearedReferences() argument
269 Locks::mutator_lock_->AssertNotHeld(self); in EnqueueClearedReferences()
275 ReaderMutexLock mu(self, *Locks::mutator_lock_); in EnqueueClearedReferences()
276 cleared_references = self->GetJniEnv()->GetVm()->AddGlobalRef( in EnqueueClearedReferences()
277 self, cleared_references_.GetList()); in EnqueueClearedReferences()
283 self, new ClearedReferenceTask(cleared_references)); in EnqueueClearedReferences()
286 task.Run(self); in EnqueueClearedReferences()
294 Thread* self = Thread::Current(); in ClearReferent() local
295 MutexLock mu(self, *Locks::reference_processor_lock_); in ClearReferent()
300 WaitUntilDoneProcessingReferences(self); in ClearReferent()
308 void ReferenceProcessor::WaitUntilDoneProcessingReferences(Thread* self) { in WaitUntilDoneProcessingReferences() argument
311 (kUseReadBarrier && !self->GetWeakRefAccessEnabled())) { in WaitUntilDoneProcessingReferences()
314 self->CheckEmptyCheckpointFromWeakRefAccess(Locks::reference_processor_lock_); in WaitUntilDoneProcessingReferences()
315 condition_.WaitHoldingLocks(self); in WaitUntilDoneProcessingReferences()
321 Thread* self = Thread::Current(); in MakeCircularListIfUnenqueued() local
322 MutexLock mu(self, *Locks::reference_processor_lock_); in MakeCircularListIfUnenqueued()
323 WaitUntilDoneProcessingReferences(self); in MakeCircularListIfUnenqueued()
330 MutexLock mu2(self, *Locks::reference_queue_finalizer_references_lock_); in MakeCircularListIfUnenqueued()