diff --git a/src/share/vm/prims/whitebox.cpp b/src/share/vm/prims/whitebox.cpp index c1dbaa912b58cd6c6fe412a50e14255d6f3a3a16..0132cb13eba4630ac916b1a60c7d4d4e729586b4 100644 --- a/src/share/vm/prims/whitebox.cpp +++ b/src/share/vm/prims/whitebox.cpp @@ -129,24 +129,22 @@ WB_END WB_ENTRY(void, WB_AddToBootstrapClassLoaderSearch(JNIEnv* env, jobject o, jstring segment)) { #if INCLUDE_JVMTI - ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI - const char* seg = env->GetStringUTFChars(segment, NULL); + ResourceMark rm; + const char* seg = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(segment)); JvmtiEnv* jvmti_env = JvmtiEnv::create_a_jvmti(JVMTI_VERSION); jvmtiError err = jvmti_env->AddToBootstrapClassLoaderSearch(seg); assert(err == JVMTI_ERROR_NONE, "must not fail"); - env->ReleaseStringUTFChars(segment, seg); #endif } WB_END WB_ENTRY(void, WB_AddToSystemClassLoaderSearch(JNIEnv* env, jobject o, jstring segment)) { #if INCLUDE_JVMTI - ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI - const char* seg = env->GetStringUTFChars(segment, NULL); + ResourceMark rm; + const char* seg = java_lang_String::as_utf8_string(JNIHandles::resolve_non_null(segment)); JvmtiEnv* jvmti_env = JvmtiEnv::create_a_jvmti(JVMTI_VERSION); jvmtiError err = jvmti_env->AddToSystemClassLoaderSearch(seg); assert(err == JVMTI_ERROR_NONE, "must not fail"); - env->ReleaseStringUTFChars(segment, seg); #endif } WB_END