src/share/vm/prims/methodHandles.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
7087357 Cdiff src/share/vm/prims/methodHandles.cpp
src/share/vm/prims/methodHandles.cpp
Print this page
*** 3178,3198 ****
const char* L_MH_name = (JLINV "MethodHandle");
const char* MH_name = L_MH_name+1;
jclass MH_class = env->FindClass(MH_name);
status = env->RegisterNatives(MH_class, invoke_methods, sizeof(invoke_methods)/sizeof(JNINativeMethod));
}
if (env->ExceptionOccurred()) {
warning("JSR 292 method handle code is mismatched to this JVM. Disabling support.");
enable_MH = false;
env->ExceptionClear();
}
- status = env->RegisterNatives(MHN_class, call_site_methods, sizeof(call_site_methods)/sizeof(JNINativeMethod));
- if (env->ExceptionOccurred()) {
- // Exception is okay until 7087357
- env->ExceptionClear();
- }
}
if (enable_MH) {
methodOop raiseException_method = MethodHandles::resolve_raise_exception_method(CHECK);
if (raiseException_method != NULL) {
--- 3178,3196 ----
const char* L_MH_name = (JLINV "MethodHandle");
const char* MH_name = L_MH_name+1;
jclass MH_class = env->FindClass(MH_name);
status = env->RegisterNatives(MH_class, invoke_methods, sizeof(invoke_methods)/sizeof(JNINativeMethod));
}
+ if (!env->ExceptionOccurred()) {
+ status = env->RegisterNatives(MHN_class, call_site_methods, sizeof(call_site_methods)/sizeof(JNINativeMethod));
+ }
if (env->ExceptionOccurred()) {
warning("JSR 292 method handle code is mismatched to this JVM. Disabling support.");
enable_MH = false;
env->ExceptionClear();
}
}
if (enable_MH) {
methodOop raiseException_method = MethodHandles::resolve_raise_exception_method(CHECK);
if (raiseException_method != NULL) {
src/share/vm/prims/methodHandles.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File