src/hotspot/share/classfile/javaClasses.cpp
changeset 58555 7252d89e3a4e
parent 58493 55a8d95c7787
child 58664 e3618c902d17
equal deleted inserted replaced
58554:8c3c39710a08 58555:7252d89e3a4e
   382       fatal("NewStringPlatform missing");
   382       fatal("NewStringPlatform missing");
   383     }
   383     }
   384   }
   384   }
   385 
   385 
   386   jstring js = NULL;
   386   jstring js = NULL;
   387   { JavaThread* thread = (JavaThread*)THREAD;
   387   {
   388     assert(thread->is_Java_thread(), "must be java thread");
   388     assert(THREAD->is_Java_thread(), "must be java thread");
       
   389     JavaThread* thread = (JavaThread*)THREAD;
   389     HandleMark hm(thread);
   390     HandleMark hm(thread);
   390     ThreadToNativeFromVM ttn(thread);
   391     ThreadToNativeFromVM ttn(thread);
   391     js = (_to_java_string_fn)(thread->jni_environment(), str);
   392     js = (_to_java_string_fn)(thread->jni_environment(), str);
   392   }
   393   }
   393   return Handle(THREAD, JNIHandles::resolve(js));
   394 
       
   395   Handle native_platform_string(THREAD, JNIHandles::resolve(js));
       
   396   JNIHandles::destroy_local(js);  // destroy local JNIHandle.
       
   397   return native_platform_string;
   394 }
   398 }
   395 
   399 
   396 // Converts a Java String to a native C string that can be used for
   400 // Converts a Java String to a native C string that can be used for
   397 // native OS calls.
   401 // native OS calls.
   398 char* java_lang_String::as_platform_dependent_str(Handle java_string, TRAPS) {
   402 char* java_lang_String::as_platform_dependent_str(Handle java_string, TRAPS) {