src/share/vm/prims/methodHandles.cpp

changeset 2015
083fde3b838e
parent 1907
c18cbe5936b8
child 2103
3e8fbc61cee8
equal deleted inserted replaced
2004:a528509c992b 2015:083fde3b838e
2473 } 2473 }
2474 JVM_END 2474 JVM_END
2475 2475
2476 JVM_ENTRY(void, MHI_registerBootstrap(JNIEnv *env, jobject igcls, jclass caller_jh, jobject bsm_jh)) { 2476 JVM_ENTRY(void, MHI_registerBootstrap(JNIEnv *env, jobject igcls, jclass caller_jh, jobject bsm_jh)) {
2477 instanceKlassHandle ik = MethodHandles::resolve_instance_klass(caller_jh, THREAD); 2477 instanceKlassHandle ik = MethodHandles::resolve_instance_klass(caller_jh, THREAD);
2478 if (!AllowTransitionalJSR292) {
2479 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
2480 "registerBootstrapMethod is only supported in JSR 292 EDR");
2481 }
2478 ik->link_class(CHECK); 2482 ik->link_class(CHECK);
2479 if (!java_dyn_MethodHandle::is_instance(JNIHandles::resolve(bsm_jh))) { 2483 if (!java_dyn_MethodHandle::is_instance(JNIHandles::resolve(bsm_jh))) {
2480 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "method handle"); 2484 THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "method handle");
2481 } 2485 }
2482 const char* err = NULL; 2486 const char* err = NULL;

mercurial