hotspot/src/share/vm/prims/methodHandles.cpp
changeset 6062 bab93afe9df7
parent 5547 f4b087cbb361
child 6418 6671edbd230e
equal deleted inserted replaced
5929:279fd26a4b68 6062:bab93afe9df7
  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;