8232724: Remove indirection with calling JNU_NewStringPlatform
Reviewed-by: dholmes, clanger
This commit is contained in:
parent
c786ef3418
commit
c7acea028c
@ -387,14 +387,20 @@ Handle java_lang_String::create_from_symbol(Symbol* symbol, TRAPS) {
|
|||||||
Handle java_lang_String::create_from_platform_dependent_str(const char* str, TRAPS) {
|
Handle java_lang_String::create_from_platform_dependent_str(const char* str, TRAPS) {
|
||||||
assert(str != NULL, "bad arguments");
|
assert(str != NULL, "bad arguments");
|
||||||
|
|
||||||
typedef jstring (*to_java_string_fn_t)(JNIEnv*, const char *);
|
typedef jstring (JNICALL *to_java_string_fn_t)(JNIEnv*, const char *);
|
||||||
static to_java_string_fn_t _to_java_string_fn = NULL;
|
static to_java_string_fn_t _to_java_string_fn = NULL;
|
||||||
|
|
||||||
if (_to_java_string_fn == NULL) {
|
if (_to_java_string_fn == NULL) {
|
||||||
void *lib_handle = os::native_java_library();
|
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, "NewStringPlatform"));
|
_to_java_string_fn = CAST_TO_FN_PTR(to_java_string_fn_t, os::dll_lookup(lib_handle, "JNU_NewStringPlatform"));
|
||||||
|
#if defined(_WIN32) && !defined(_WIN64)
|
||||||
if (_to_java_string_fn == NULL) {
|
if (_to_java_string_fn == NULL) {
|
||||||
fatal("NewStringPlatform missing");
|
// On 32 bit Windows, also try __stdcall decorated name
|
||||||
|
_to_java_string_fn = CAST_TO_FN_PTR(to_java_string_fn_t, os::dll_lookup(lib_handle, "_JNU_NewStringPlatform@8"));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (_to_java_string_fn == NULL) {
|
||||||
|
fatal("JNU_NewStringPlatform missing");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1073,13 +1073,6 @@ typedef struct {
|
|||||||
method_size_info main; /* used everywhere else */
|
method_size_info main; /* used everywhere else */
|
||||||
} class_size_info;
|
} class_size_info;
|
||||||
|
|
||||||
/*
|
|
||||||
* Functions defined in libjava.so to perform string conversions.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef jstring (*to_java_string_fn_t)(JNIEnv *env, char *str);
|
|
||||||
|
|
||||||
#define JVM_RECOGNIZED_CLASS_MODIFIERS (JVM_ACC_PUBLIC | \
|
#define JVM_RECOGNIZED_CLASS_MODIFIERS (JVM_ACC_PUBLIC | \
|
||||||
JVM_ACC_FINAL | \
|
JVM_ACC_FINAL | \
|
||||||
JVM_ACC_SUPER | \
|
JVM_ACC_SUPER | \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -791,13 +791,6 @@ InitializeEncoding(JNIEnv *env, const char *encname)
|
|||||||
CHECK_NULL(String_value_ID);
|
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
|
JNIEXPORT jstring JNICALL
|
||||||
JNU_NewStringPlatform(JNIEnv *env, const char *str)
|
JNU_NewStringPlatform(JNIEnv *env, const char *str)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -93,9 +93,6 @@ JNIEXPORT void JNICALL
|
|||||||
JNU_ThrowIOExceptionWithLastError(JNIEnv *env, const char *defaultDetail);
|
JNU_ThrowIOExceptionWithLastError(JNIEnv *env, const char *defaultDetail);
|
||||||
|
|
||||||
/* Convert between Java strings and i18n C strings */
|
/* Convert between Java strings and i18n C strings */
|
||||||
JNIEXPORT jstring
|
|
||||||
NewStringPlatform(JNIEnv *env, const char *str);
|
|
||||||
|
|
||||||
JNIEXPORT const char *
|
JNIEXPORT const char *
|
||||||
GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);
|
GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user