< prev index next >

src/share/vm/prims/jniCheck.cpp

Print this page
rev 13037 : 8181147: JNI_GetStringPlatformChars should have a fast path for UTF-8
Reviewed-by: shade, chegar, erikj

*** 1512,1521 **** --- 1512,1551 ---- (const jchar*) guarded.release_for_freeing()); } functionExit(thr); JNI_END + JNI_ENTRY_CHECKED(const jbyte*, + checked_jni_GetStringBytesCritical(JNIEnv *env, + jstring string, + jint* len, + jbyte *encoding, + jboolean *isCopy)) + functionEnterCritical(thr); + IN_VM( + checkString(thr, string); + ) + const jbyte *result = UNCHECKED()->GetStringBytesCritical(env, string, len, encoding, isCopy); + functionExit(thr); + return result; + JNI_END + + JNI_ENTRY_CHECKED(void, + checked_jni_ReleaseStringBytesCritical(JNIEnv *env, + jstring str, + const jbyte *bytes)) + functionEnterCriticalExceptionAllowed(thr); + IN_VM( + checkString(thr, str); + ) + /* The Hotspot JNI code does not use the parameters, so just check the + * string parameter as a minor sanity check + */ + UNCHECKED()->ReleaseStringBytesCritical(env, str, bytes); + functionExit(thr); + JNI_END + JNI_ENTRY_CHECKED(jstring, checked_jni_NewStringUTF(JNIEnv *env, const char *utf)) functionEnter(thr); jstring result = UNCHECKED()->NewStringUTF(env,utf);
*** 2195,2204 **** --- 2225,2236 ---- checked_jni_NewString, checked_jni_GetStringLength, checked_jni_GetStringChars, checked_jni_ReleaseStringChars, + checked_jni_GetStringBytesCritical, + checked_jni_ReleaseStringBytesCritical, checked_jni_NewStringUTF, checked_jni_GetStringUTFLength, checked_jni_GetStringUTFChars, checked_jni_ReleaseStringUTFChars,
< prev index next >