1982 if (_well_known_klasses[meth_group_start] == NULL) { |
1982 if (_well_known_klasses[meth_group_start] == NULL) { |
1983 // Skip the rest of the method handle classes, if MethodHandle is not loaded. |
1983 // Skip the rest of the method handle classes, if MethodHandle is not loaded. |
1984 scan = WKID(meth_group_end+1); |
1984 scan = WKID(meth_group_end+1); |
1985 } |
1985 } |
1986 WKID indy_group_start = WK_KLASS_ENUM_NAME(Linkage_klass); |
1986 WKID indy_group_start = WK_KLASS_ENUM_NAME(Linkage_klass); |
1987 WKID indy_group_end = WK_KLASS_ENUM_NAME(Dynamic_klass); |
1987 WKID indy_group_end = WK_KLASS_ENUM_NAME(InvokeDynamic_klass); |
1988 initialize_wk_klasses_until(indy_group_start, scan, CHECK); |
1988 initialize_wk_klasses_until(indy_group_start, scan, CHECK); |
1989 if (EnableInvokeDynamic) { |
1989 if (EnableInvokeDynamic) { |
1990 initialize_wk_klasses_through(indy_group_end, scan, CHECK); |
1990 initialize_wk_klasses_through(indy_group_end, scan, CHECK); |
1991 } |
1991 } |
1992 if (_well_known_klasses[indy_group_start] == NULL) { |
1992 if (_well_known_klasses[indy_group_start] == NULL) { |
2338 unsigned int hash = invoke_method_table()->compute_hash(signature); |
2338 unsigned int hash = invoke_method_table()->compute_hash(signature); |
2339 int index = invoke_method_table()->hash_to_index(hash); |
2339 int index = invoke_method_table()->hash_to_index(hash); |
2340 SymbolPropertyEntry* spe = invoke_method_table()->find_entry(index, hash, signature); |
2340 SymbolPropertyEntry* spe = invoke_method_table()->find_entry(index, hash, signature); |
2341 if (spe == NULL || spe->property_oop() == NULL) { |
2341 if (spe == NULL || spe->property_oop() == NULL) { |
2342 // Must create lots of stuff here, but outside of the SystemDictionary lock. |
2342 // Must create lots of stuff here, but outside of the SystemDictionary lock. |
|
2343 if (THREAD->is_Compiler_thread()) |
|
2344 return NULL; // do not attempt from within compiler |
2343 Handle mt = compute_method_handle_type(signature(), |
2345 Handle mt = compute_method_handle_type(signature(), |
2344 class_loader, protection_domain, |
2346 class_loader, protection_domain, |
2345 CHECK_NULL); |
2347 CHECK_NULL); |
2346 KlassHandle mh_klass = SystemDictionaryHandles::MethodHandle_klass(); |
2348 KlassHandle mh_klass = SystemDictionaryHandles::MethodHandle_klass(); |
2347 methodHandle m = methodOopDesc::make_invoke_method(mh_klass, signature, |
2349 methodHandle m = methodOopDesc::make_invoke_method(mh_klass, signature, |