equal
deleted
inserted
replaced
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) { |