8232624: Java cannot start: NewStringPlatform missing

Reviewed-by: dholmes, alanb, redestad
This commit is contained in:
Alexey Ivanov 2019-10-21 21:36:26 +01:00
parent c483fbe6d6
commit 16f3919405
3 changed files with 11 additions and 1 deletions

View File

@ -377,7 +377,7 @@ Handle java_lang_String::create_from_platform_dependent_str(const char* str, TRA
if (_to_java_string_fn == NULL) {
void *lib_handle = os::native_java_library();
_to_java_string_fn = CAST_TO_FN_PTR(to_java_string_fn_t, os::dll_lookup(lib_handle, "JNU_NewStringPlatform"));
_to_java_string_fn = CAST_TO_FN_PTR(to_java_string_fn_t, os::dll_lookup(lib_handle, "NewStringPlatform"));
if (_to_java_string_fn == NULL) {
fatal("NewStringPlatform missing");
}

View File

@ -791,6 +791,13 @@ InitializeEncoding(JNIEnv *env, const char *encname)
CHECK_NULL(String_value_ID);
}
// This alias is used for compatibility with 32 bit Windows
JNIEXPORT jstring
NewStringPlatform(JNIEnv *env, const char *str)
{
return JNU_NewStringPlatform(env, str);
}
JNIEXPORT jstring JNICALL
JNU_NewStringPlatform(JNIEnv *env, const char *str)
{

View File

@ -93,6 +93,9 @@ JNIEXPORT void JNICALL
JNU_ThrowIOExceptionWithLastError(JNIEnv *env, const char *defaultDetail);
/* Convert between Java strings and i18n C strings */
JNIEXPORT jstring
NewStringPlatform(JNIEnv *env, const char *str);
JNIEXPORT const char *
GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);