• Home
  • Raw
  • Download

Lines Matching refs:art

69 bool JvmtiMethodInspectionCallback::IsMethodBeingInspected(art::ArtMethod* method) {  in IsMethodBeingInspected()
78 static_cast<art::LockLevel>( in DeoptManager()
79 art::LockLevel::kClassLinkerClassesLock + 1)), in DeoptManager()
85 static_cast<art::LockLevel>(art::LockLevel::kAbortLock + 1)), in DeoptManager()
90 art::ScopedThreadStateChange stsc(art::Thread::Current(), in Setup()
91 art::ThreadState::kWaitingForDebuggerToAttach); in Setup()
92 art::ScopedSuspendAll ssa("Add method Inspection Callback"); in Setup()
93 art::RuntimeCallbacks* callbacks = art::Runtime::Current()->GetRuntimeCallbacks(); in Setup()
98 art::ScopedThreadStateChange stsc(art::Thread::Current(), in Shutdown()
99 art::ThreadState::kWaitingForDebuggerToAttach); in Shutdown()
100 art::ScopedSuspendAll ssa("remove method Inspection Callback"); in Shutdown()
101 art::RuntimeCallbacks* callbacks = art::Runtime::Current()->GetRuntimeCallbacks(); in Shutdown()
105 void DeoptManager::DumpDeoptInfo(art::Thread* self, std::ostream& stream) { in DumpDeoptInfo()
106 art::ScopedObjectAccess soa(self); in DumpDeoptInfo()
107 art::MutexLock mutll(self, *art::Locks::thread_list_lock_); in DumpDeoptInfo()
108 art::MutexLock mudsl(self, deoptimization_status_lock_); in DumpDeoptInfo()
109 art::MutexLock mubsl(self, breakpoint_status_lock_); in DumpDeoptInfo()
116 struct DumpThreadDeoptCount : public art::Closure { in DumpDeoptInfo()
120 void Run(art::Thread* self) override { in DumpDeoptInfo()
146 auto func = [](art::Thread* thread, void* ctx) { in DumpDeoptInfo()
149 art::Runtime::Current()->GetThreadList()->ForEach(func, &dtdc); in DumpDeoptInfo()
153 art::Thread* self = art::Thread::Current(); in FinishSetup()
154 art::MutexLock mu(self, deoptimization_status_lock_); in FinishSetup()
156 art::Runtime* runtime = art::Runtime::Current(); in FinishSetup()
198 bool DeoptManager::MethodHasBreakpoints(art::ArtMethod* method) { in MethodHasBreakpoints()
199 art::MutexLock lk(art::Thread::Current(), breakpoint_status_lock_); in MethodHasBreakpoints()
203 bool DeoptManager::MethodHasBreakpointsLocked(art::ArtMethod* method) { in MethodHasBreakpointsLocked()
209 art::Thread* self = art::Thread::Current(); in RemoveDeoptimizeAllMethods()
210 art::ScopedThreadSuspension sts(self, art::ThreadState::kSuspended); in RemoveDeoptimizeAllMethods()
216 art::Thread* self = art::Thread::Current(); in AddDeoptimizeAllMethods()
217 art::ScopedThreadSuspension sts(self, art::ThreadState::kSuspended); in AddDeoptimizeAllMethods()
222 void DeoptManager::AddMethodBreakpoint(art::ArtMethod* method) { in AddMethodBreakpoint()
227 art::Thread* self = art::Thread::Current(); in AddMethodBreakpoint()
231 art::ScopedThreadSuspension sts(self, art::ThreadState::kSuspended); in AddMethodBreakpoint()
250 auto instrumentation = art::Runtime::Current()->GetInstrumentation(); in AddMethodBreakpoint()
262 void DeoptManager::RemoveMethodBreakpoint(art::ArtMethod* method) { in RemoveMethodBreakpoint()
267 art::Thread* self = art::Thread::Current(); in RemoveMethodBreakpoint()
271 art::ScopedThreadSuspension sts(self, art::ThreadState::kSuspended); in RemoveMethodBreakpoint()
278 art::MutexLock mu(self, breakpoint_status_lock_); in RemoveMethodBreakpoint()
286 auto instrumentation = art::Runtime::Current()->GetInstrumentation(); in RemoveMethodBreakpoint()
304 void DeoptManager::WaitForDeoptimizationToFinishLocked(art::Thread* self) { in WaitForDeoptimizationToFinishLocked()
310 void DeoptManager::WaitForDeoptimizationToFinish(art::Thread* self) { in WaitForDeoptimizationToFinish()
317 class ScopedDeoptimizationContext : public art::ValueObject {
319 ScopedDeoptimizationContext(art::Thread* self, DeoptManager* deopt) in ScopedDeoptimizationContext()
321 ACQUIRE(art::Locks::mutator_lock_) in ScopedDeoptimizationContext()
322 ACQUIRE(art::Roles::uninterruptible_) in ScopedDeoptimizationContext()
333 uninterruptible_cause_ = critical_section_.Enter(art::gc::kGcCauseInstrumentation, in ScopedDeoptimizationContext()
334 art::gc::kCollectorTypeCriticalSection); in ScopedDeoptimizationContext()
335 art::Runtime::Current()->GetThreadList()->SuspendAll("JMVTI Deoptimizing methods", in ScopedDeoptimizationContext()
340 RELEASE(art::Locks::mutator_lock_) in RELEASE()
341 RELEASE(art::Roles::uninterruptible_) { in RELEASE()
345 art::Runtime::Current()->GetThreadList()->ResumeAll(); in RELEASE()
347 art::MutexLock lk(self_, deopt_->deoptimization_status_lock_); in RELEASE()
353 art::Thread* self_;
355 art::gc::GCCriticalSection critical_section_;
359 void DeoptManager::AddDeoptimizeAllMethodsLocked(art::Thread* self) { in AddDeoptimizeAllMethodsLocked()
368 void DeoptManager::RemoveDeoptimizeAllMethodsLocked(art::Thread* self) { in RemoveDeoptimizeAllMethodsLocked()
378 void DeoptManager::PerformLimitedDeoptimization(art::Thread* self, art::ArtMethod* method) { in PerformLimitedDeoptimization()
380 art::Runtime::Current()->GetInstrumentation()->Deoptimize(method); in PerformLimitedDeoptimization()
383 void DeoptManager::PerformLimitedUndeoptimization(art::Thread* self, art::ArtMethod* method) { in PerformLimitedUndeoptimization()
385 art::Runtime::Current()->GetInstrumentation()->Undeoptimize(method); in PerformLimitedUndeoptimization()
388 void DeoptManager::PerformGlobalDeoptimization(art::Thread* self) { in PerformGlobalDeoptimization()
390 art::Runtime::Current()->GetInstrumentation()->DeoptimizeEverything( in PerformGlobalDeoptimization()
394 void DeoptManager::PerformGlobalUndeoptimization(art::Thread* self) { in PerformGlobalUndeoptimization()
396 art::Runtime::Current()->GetInstrumentation()->UndeoptimizeEverything( in PerformGlobalUndeoptimization()
400 jvmtiError DeoptManager::AddDeoptimizeThreadMethods(art::ScopedObjectAccessUnchecked& soa, jthread … in AddDeoptimizeThreadMethods()
401 art::Locks::thread_list_lock_->ExclusiveLock(soa.Self()); in AddDeoptimizeThreadMethods()
402 art::Thread* target = nullptr; in AddDeoptimizeThreadMethods()
405 art::Locks::thread_list_lock_->ExclusiveUnlock(soa.Self()); in AddDeoptimizeThreadMethods()
410 struct DeoptClosure : public art::Closure { in AddDeoptimizeThreadMethods()
413 void Run(art::Thread* self) override REQUIRES_SHARED(art::Locks::mutator_lock_) { in AddDeoptimizeThreadMethods()
423 art::Locks::thread_list_lock_->ExclusiveUnlock(soa.Self()); in AddDeoptimizeThreadMethods()
428 jvmtiError DeoptManager::RemoveDeoptimizeThreadMethods(art::ScopedObjectAccessUnchecked& soa, jthre… in RemoveDeoptimizeThreadMethods()
429 art::MutexLock mu(soa.Self(), *art::Locks::thread_list_lock_); in RemoveDeoptimizeThreadMethods()
430 art::Thread* target = nullptr; in RemoveDeoptimizeThreadMethods()
444 art::Thread* self = art::Thread::Current(); in RemoveDeoptimizationRequester()
445 art::ScopedThreadStateChange sts(self, art::ThreadState::kSuspended); in RemoveDeoptimizationRequester()
451 art::Runtime::Current()->GetInstrumentation()->DisableDeoptimization(kInstrumentationKey); in RemoveDeoptimizationRequester()
459 art::Thread* self = art::Thread::Current(); in AddDeoptimizationRequester()
460 art::ScopedThreadStateChange stsc(self, art::ThreadState::kSuspended); in AddDeoptimizationRequester()
466 void DeoptManager::DeoptimizeThread(art::Thread* target) { in DeoptimizeThread()
469 art::ScopedThreadSuspension sts(art::Thread::Current(), art::ThreadState::kSuspended); in DeoptimizeThread()
470 art::gc::ScopedGCCriticalSection sgccs(art::Thread::Current(), in DeoptimizeThread()
471 art::gc::GcCause::kGcCauseDebugger, in DeoptimizeThread()
472 art::gc::CollectorType::kCollectorTypeDebugger); in DeoptimizeThread()
473 art::ScopedSuspendAll ssa("Instrument thread stack"); in DeoptimizeThread()
477 art::Runtime::Current()->GetInstrumentation()->InstrumentThreadStack( in DeoptimizeThread()