Lines Matching refs:env

51 static void EnableEvent(jvmtiEnv* env, jvmtiEvent evt) {  in EnableEvent()  argument
52 jvmtiError error = env->SetEventNotificationMode(JVMTI_ENABLE, evt, nullptr); in EnableEvent()
58 static void JNICALL ThreadStartCallback(jvmtiEnv *jvmti, JNIEnv* env, jthread thread) { in ThreadStartCallback() argument
62 list->events.push_back({ "ThreadStart", env->NewGlobalRef(thread) }); in ThreadStartCallback()
67 JNIEnv* env, in Test1919AgentThread() argument
74 list->events.push_back({ "Test1919AgentThread", env->NewGlobalRef(cur) }); in Test1919AgentThread()
75 env->DeleteLocalRef(cur); in Test1919AgentThread()
81 static void CreateAgentThread(jvmtiEnv* jvmti, JNIEnv* env) { in CreateAgentThread() argument
83 ScopedLocalRef<jobject> thread_name(env, env->NewStringUTF("JVMTI_THREAD-Test1919")); in CreateAgentThread()
86 ScopedLocalRef<jclass> thread_klass(env, env->FindClass("java/lang/Thread")); in CreateAgentThread()
89 ScopedLocalRef<jobject> thread(env, env->AllocObject(thread_klass.get())); in CreateAgentThread()
92 jmethodID initID = env->GetMethodID(thread_klass.get(), "<init>", "(Ljava/lang/String;)V"); in CreateAgentThread()
95 env->CallNonvirtualVoidMethod(thread.get(), thread_klass.get(), initID, thread_name.get()); in CreateAgentThread()
96 CHECK(!env->ExceptionCheck()); in CreateAgentThread()
99 the_thread = static_cast<jthread>(env->NewGlobalRef(thread.get())); in CreateAgentThread()
108 static void JNICALL VMInitCallback(jvmtiEnv *jvmti, JNIEnv* env, jthread thread) { in VMInitCallback() argument
112 list->events.push_back({ "VMInit", env->NewGlobalRef(thread) }); in VMInitCallback()
114 CreateAgentThread(jvmti, env); in VMInitCallback()
120 static void InstallVMEvents(jvmtiEnv* env) { in InstallVMEvents() argument
125 jvmtiError ret = env->SetEventCallbacks(&callbacks, sizeof(callbacks)); in InstallVMEvents()
130 EnableEvent(env, JVMTI_EVENT_VM_INIT); in InstallVMEvents()
131 EnableEvent(env, JVMTI_EVENT_THREAD_START); in InstallVMEvents()
134 static void InstallEventList(jvmtiEnv* env) { in InstallEventList() argument
136 CheckJvmtiError(env, env->Allocate(sizeof(EventList), reinterpret_cast<unsigned char**>(&list))); in InstallEventList()
138 CheckJvmtiError(env, env->CreateRawMonitor("Test1919 Monitor", &list->events_mutex)); in InstallEventList()
139 CheckJvmtiError(env, env->SetEnvironmentLocalStorage(list)); in InstallEventList()
154 extern "C" JNIEXPORT jobjectArray JNICALL Java_art_Test1919_getEventNames(JNIEnv* env, jclass) { in Java_art_Test1919_getEventNames() argument
156 if (JvmtiErrorToException(env, in Java_art_Test1919_getEventNames()
162 if (JvmtiErrorToException(env, jvmti_env, jvmti_env->RawMonitorEnter(list->events_mutex))) { in Java_art_Test1919_getEventNames()
165 jobjectArray ret = CreateObjectArray(env, list->events.size(), "java/lang/String", in Java_art_Test1919_getEventNames()
167 return env->NewStringUTF(list->events[i].event.c_str()); in Java_art_Test1919_getEventNames()
169 if (JvmtiErrorToException(env, jvmti_env, jvmti_env->RawMonitorExit(list->events_mutex))) { in Java_art_Test1919_getEventNames()
175 extern "C" JNIEXPORT jobjectArray JNICALL Java_art_Test1919_getEventThreads(JNIEnv* env, jclass) { in Java_art_Test1919_getEventThreads() argument
177 if (JvmtiErrorToException(env, in Java_art_Test1919_getEventThreads()
183 if (JvmtiErrorToException(env, jvmti_env, jvmti_env->RawMonitorEnter(list->events_mutex))) { in Java_art_Test1919_getEventThreads()
186 jobjectArray ret = CreateObjectArray(env, list->events.size(), "java/lang/Thread", in Java_art_Test1919_getEventThreads()
188 return env->NewLocalRef(list->events[i].data); in Java_art_Test1919_getEventThreads()
190 if (JvmtiErrorToException(env, jvmti_env, jvmti_env->RawMonitorExit(list->events_mutex))) { in Java_art_Test1919_getEventThreads()