Lines Matching refs:art

75 static art::Mutex& GetStateMutex() {  in GetStateMutex()
76 static art::Mutex state_mutex("perfetto_hprof_state_mutex", art::LockLevel::kGenericBottomLock); in GetStateMutex()
80 static art::ConditionVariable& GetStateCV() { in GetStateCV()
81 static art::ConditionVariable state_cv("perfetto_hprof_state_cv", GetStateMutex()); in GetStateCV()
239 art::MutexLock lk(art_thread(), GetStateMutex()); in OnStart()
248 static art::Thread* art_thread() { in art_thread()
261 static art::Thread* self_;
264 art::Thread* JavaHprofDataSource::self_ = nullptr;
267 void WaitForDataSource(art::Thread* self) { in WaitForDataSource()
278 art::MutexLock lk(self, GetStateMutex()); in WaitForDataSource()
345 std::vector<std::pair<std::string, art::mirror::Object*>>* referred_objects) in ReferredObjectsFinder()
349 void operator()(art::ObjPtr<art::mirror::Object> obj, art::MemberOffset offset, in operator ()()
351 REQUIRES_SHARED(art::Locks::mutator_lock_) { in operator ()()
352 art::mirror::Object* ref = obj->GetFieldObject<art::mirror::Object>(offset); in operator ()()
353 art::ArtField* field; in operator ()()
355 field = art::ArtField::FindStaticFieldWithOffset(obj->AsClass(), offset.Uint32Value()); in operator ()()
357 field = art::ArtField::FindInstanceFieldWithOffset(obj->GetClass(), offset.Uint32Value()); in operator ()()
366 void VisitRootIfNonNull(art::mirror::CompressedReference<art::mirror::Object>* root in VisitRootIfNonNull()
368 void VisitRoot(art::mirror::CompressedReference<art::mirror::Object>* root in VisitRoot()
374 std::vector<std::pair<std::string, art::mirror::Object*>>* referred_objects_;
377 class RootFinder : public art::SingleRootVisitor {
380 std::map<art::RootType, std::vector<art::mirror::Object*>>* root_objects) in RootFinder()
383 void VisitRoot(art::mirror::Object* root, const art::RootInfo& info) override { in VisitRoot()
390 std::map<art::RootType, std::vector<art::mirror::Object*>>* root_objects_;
393 perfetto::protos::pbzero::HeapGraphRoot::Type ToProtoType(art::RootType art_type) { in ToProtoType()
395 case art::kRootUnknown: in ToProtoType()
397 case art::kRootJNIGlobal: in ToProtoType()
399 case art::kRootJNILocal: in ToProtoType()
401 case art::kRootJavaFrame: in ToProtoType()
403 case art::kRootNativeStack: in ToProtoType()
405 case art::kRootStickyClass: in ToProtoType()
407 case art::kRootThreadBlock: in ToProtoType()
409 case art::kRootMonitorUsed: in ToProtoType()
411 case art::kRootThreadObject: in ToProtoType()
413 case art::kRootInternedString: in ToProtoType()
415 case art::kRootFinalizing: in ToProtoType()
417 case art::kRootDebugger: in ToProtoType()
419 case art::kRootReferenceCleanup: in ToProtoType()
421 case art::kRootVMInternal: in ToProtoType()
423 case art::kRootJNIMonitor: in ToProtoType()
428 std::string PrettyType(art::mirror::Class* klass) NO_THREAD_SAFETY_ANALYSIS { in PrettyType()
433 std::string result(art::PrettyDescriptor(klass->GetDescriptor(&temp))); in PrettyType()
459 uint64_t GetObjectId(const art::mirror::Object* obj) { in GetObjectId()
460 return reinterpret_cast<uint64_t>(obj) / std::alignment_of<art::mirror::Object>::value; in GetObjectId()
463 void DumpPerfetto(art::Thread* self) { in DumpPerfetto()
474 art::gc::ScopedGCCriticalSection gcs(self, art::gc::kGcCauseHprof, in DumpPerfetto()
475 art::gc::kCollectorTypeHprof); in DumpPerfetto()
477 art::ScopedSuspendAll ssa(__FUNCTION__, /* long_suspend=*/ true); in DumpPerfetto()
540 std::map<art::RootType, std::vector<art::mirror::Object*>> root_objects; in DumpPerfetto()
542 art::Runtime::Current()->VisitRoots(&rcf); in DumpPerfetto()
546 const art::RootType root_type = p.first; in DumpPerfetto()
547 const std::vector<art::mirror::Object*>& children = p.second; in DumpPerfetto()
551 for (art::mirror::Object* obj : children) { in DumpPerfetto()
569 art::Runtime::Current()->GetHeap()->VisitObjectsPaused( in DumpPerfetto()
572 art::mirror::Object* obj) REQUIRES_SHARED(art::Locks::mutator_lock_) { in DumpPerfetto()
574 art::mirror::Class* klass = obj->AsClass().Ptr(); in DumpPerfetto()
585 art::mirror::Class* klass = obj->GetClass(); in DumpPerfetto()
615 std::vector<std::pair<std::string, art::mirror::Object*>> in DumpPerfetto()
618 obj->VisitReferences(objf, art::VoidFunctor()); in DumpPerfetto()
654 art::MutexLock lk(JavaHprofDataSource::art_thread(), GetStateMutex()); in DumpPerfetto()
661 art::MutexLock lk(self, GetStateMutex()); in DumpPerfetto()
673 if (art::Runtime::Current() == nullptr) { in ArtPlugin_Initialize()
676 art::Thread* self = art::Thread::Current(); in ArtPlugin_Initialize()
678 art::MutexLock lk(self, GetStateMutex()); in ArtPlugin_Initialize()
709 art::Runtime* runtime = art::Runtime::Current(); in ArtPlugin_Initialize()
718 art::MutexLock lk(nullptr, GetStateMutex()); in ArtPlugin_Initialize()
725 art::Thread* self = art::Thread::Current(); in ArtPlugin_Initialize()
731 art::MutexLock lk(self, GetStateMutex()); in ArtPlugin_Initialize()
769 art::Thread* self = art::Thread::Current(); in ArtPlugin_Deinitialize()
770 art::MutexLock lk(self, GetStateMutex()); in ArtPlugin_Deinitialize()
775 GetStateCV().Wait(art::Thread::Current()); in ArtPlugin_Deinitialize()