Lines Matching refs:jvmti

68   void Dump(jvmtiEnv* jvmti);
69 void Enter(jvmtiEnv* jvmti, JNIEnv* env, jmethodID meth);
71 void RunDumpLoop(jvmtiEnv* jvmti, JNIEnv* env);
79 void FinishInitialization(jvmtiEnv* jvmti, JNIEnv* jni, jthread cur);
80 void Shutdown(jvmtiEnv* jvmti, JNIEnv* jni);
83 void DoDump(jvmtiEnv* jvmti, JNIEnv* jni, const std::unordered_map<jmethodID, uint64_t>& copy);
118 void SimpleProfileData::Enter(jvmtiEnv* jvmti, JNIEnv* env, jmethodID meth) { in Enter() argument
119 ScopedJvmtiMonitor sjm(jvmti, mon_); in Enter()
122 CHECK_JVMTI(jvmti->GetMethodDeclaringClass(meth, &tmp)); in Enter()
125 CHECK_JVMTI(jvmti->GetTag(klass.get(), &tag)); in Enter()
127 CHECK_JVMTI(jvmti->SetTag(klass.get(), 1u)); in Enter()
133 void SimpleProfileData::Dump(jvmtiEnv* jvmti) { in Dump() argument
134 ScopedJvmtiMonitor sjm(jvmti, mon_); in Dump()
139 void SimpleProfileData::RunDumpLoop(jvmtiEnv* jvmti, JNIEnv* env) { in RunDumpLoop() argument
144 ScopedJvmtiMonitor sjm(jvmti, mon_); in RunDumpLoop()
154 DoDump(jvmti, env, std::move(copy)); in RunDumpLoop()
158 void SimpleProfileData::Shutdown(jvmtiEnv* jvmti, JNIEnv* jni) { in Shutdown() argument
161 ScopedJvmtiMonitor sjm(jvmti, mon_); in Shutdown()
170 DoDump(jvmti, jni, std::move(copy)); in Shutdown()
174 void SimpleProfileData::FinishInitialization(jvmtiEnv* jvmti, JNIEnv* env, jthread cur) { in FinishInitialization() argument
193 CHECK_JVMTI(jvmti->RunAgentThread( in FinishInitialization()
195 [](jvmtiEnv* jvmti, JNIEnv* jni, [[maybe_unused]] void* unused_data) { in FinishInitialization() argument
196 SimpleProfileData* data = SimpleProfileData::GetProfileData(jvmti); in FinishInitialization()
197 data->RunDumpLoop(jvmti, jni); in FinishInitialization()
202 CHECK_JVMTI(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, nullptr)); in FinishInitialization()
204 jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_DATA_DUMP_REQUEST, nullptr)); in FinishInitialization()
206 CHECK_JVMTI(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_THREAD_END, cur)); in FinishInitialization()
208 CHECK_JVMTI(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, nullptr)); in FinishInitialization()
322 void SimpleProfileData::DoDump(jvmtiEnv* jvmti, in DoDump() argument
329 ScopedMethodInfo smi(jvmti, jni, meth); in DoDump()
363 static void VMInitCB(jvmtiEnv* jvmti, JNIEnv* env, jthread thr) { in VMInitCB() argument
364 SimpleProfileData* data = SimpleProfileData::GetProfileData(jvmti); in VMInitCB()
365 data->FinishInitialization(jvmti, env, thr); in VMInitCB()
367 static void VMDeathCB(jvmtiEnv* jvmti, JNIEnv* env) { in VMDeathCB() argument
368 SimpleProfileData* data = SimpleProfileData::GetProfileData(jvmti); in VMDeathCB()
369 data->Shutdown(jvmti, env); in VMDeathCB()
407 static jint SetupJvmtiEnv(JavaVM* vm, jvmtiEnv** jvmti) { in SetupJvmtiEnv() argument
409 res = vm->GetEnv(reinterpret_cast<void**>(jvmti), JVMTI_VERSION_1_1); in SetupJvmtiEnv()
411 if (res != JNI_OK || *jvmti == nullptr) { in SetupJvmtiEnv()
413 return vm->GetEnv(reinterpret_cast<void**>(jvmti), kArtTiVersion); in SetupJvmtiEnv()
425 jvmtiEnv* jvmti = nullptr; in AgentStart() local
429 res = SetupJvmtiEnv(vm, &jvmti); in AgentStart()
431 if (res != JNI_OK || jvmti == nullptr) { in AgentStart()
451 error = jvmti->Allocate(sizeof(SimpleProfileData), reinterpret_cast<unsigned char**>(&data_mem)); in AgentStart()
458 new (data_mem) SimpleProfileData(jvmti, fd_name, fd, dump_on_shutdown, dump_on_main_stop); in AgentStart()
459 error = jvmti->SetEnvironmentLocalStorage(data); in AgentStart()
468 error = jvmti->AddCapabilities(&caps); in AgentStart()
483 error = jvmti->SetEventCallbacks(&callbacks, static_cast<jint>(sizeof(callbacks))); in AgentStart()
500 CHECK_JVMTI(jvmti->GetCurrentThread(&temp)); in AgentStart()
502 VMInitCB(jvmti, env, cur.get()); in AgentStart()
504 error = jvmti->SetEventNotificationMode( in AgentStart()