hotspot/src/share/vm/classfile/vmSymbols.cpp
changeset 13391 30245956af37
parent 12263 d20640f4f8fe
child 13728 882756847a04
equal deleted inserted replaced
13309:50c604cb0d5f 13391:30245956af37
   330   Symbol* mname = vmSymbols::symbol_at(name_for(id));
   330   Symbol* mname = vmSymbols::symbol_at(name_for(id));
   331   Symbol* msig  = vmSymbols::symbol_at(signature_for(id));
   331   Symbol* msig  = vmSymbols::symbol_at(signature_for(id));
   332   if (cname == NULL || mname == NULL || msig == NULL)  return NULL;
   332   if (cname == NULL || mname == NULL || msig == NULL)  return NULL;
   333   klassOop k = SystemDictionary::find_well_known_klass(cname);
   333   klassOop k = SystemDictionary::find_well_known_klass(cname);
   334   if (k == NULL)  return NULL;
   334   if (k == NULL)  return NULL;
   335   return instanceKlass::cast(k)->find_method(mname, msig);
   335   methodOop m = instanceKlass::cast(k)->find_method(mname, msig);
       
   336   if (m == NULL &&
       
   337       cname == vmSymbols::java_lang_invoke_MethodHandle() &&
       
   338       msig == vmSymbols::star_name()) {
       
   339     // Any signature polymorphic method is represented by a fixed concrete signature:
       
   340     m = instanceKlass::cast(k)->find_method(mname, vmSymbols::object_array_object_signature());
       
   341   }
       
   342   return m;
   336 }
   343 }
   337 
   344 
   338 
   345 
   339 #define VM_INTRINSIC_INITIALIZE(id, klass, name, sig, flags) #id "\0"
   346 #define VM_INTRINSIC_INITIALIZE(id, klass, name, sig, flags) #id "\0"
   340 static const char* vm_intrinsic_name_bodies =
   347 static const char* vm_intrinsic_name_bodies =