1.1 --- a/src/share/vm/interpreter/linkResolver.cpp Wed Jun 22 14:45:37 2011 -0700 1.2 +++ b/src/share/vm/interpreter/linkResolver.cpp Thu Jun 23 17:14:06 2011 -0700 1.3 @@ -294,6 +294,16 @@ 1.4 Symbol* method_signature = pool->signature_ref_at(index); 1.5 KlassHandle current_klass(THREAD, pool->pool_holder()); 1.6 1.7 + if (pool->has_preresolution() 1.8 + || (resolved_klass() == SystemDictionary::MethodHandle_klass() && 1.9 + methodOopDesc::is_method_handle_invoke_name(method_name))) { 1.10 + methodOop result_oop = constantPoolOopDesc::method_at_if_loaded(pool, index); 1.11 + if (result_oop != NULL) { 1.12 + resolved_method = methodHandle(THREAD, result_oop); 1.13 + return; 1.14 + } 1.15 + } 1.16 + 1.17 resolve_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, true, CHECK); 1.18 } 1.19