--- old/src/hotspot/share/classfile/javaClasses.cpp 2019-10-10 19:51:33.056734893 -0400 +++ new/src/hotspot/share/classfile/javaClasses.cpp 2019-10-10 19:51:32.780727574 -0400 @@ -383,14 +383,19 @@ } } + JavaThread* thread = (JavaThread*)THREAD; + assert(thread->is_Java_thread(), "must be java thread"); + jstring js = NULL; - { JavaThread* thread = (JavaThread*)THREAD; - assert(thread->is_Java_thread(), "must be java thread"); + { HandleMark hm(thread); ThreadToNativeFromVM ttn(thread); js = (_to_java_string_fn)(thread->jni_environment(), str); } - return Handle(THREAD, JNIHandles::resolve(js)); + + Handle native_platform_string(THREAD, JNIHandles::resolve(js)); + JNIHandles::destroy_local(js); // destroy local JNIHandle. + return native_platform_string; } // Converts a Java String to a native C string that can be used for