Mercurial > hg > truffle
comparison src/share/vm/memory/universe.cpp @ 1507:cd5dbf694d45
6939134: JSR 292 adjustments to method handle invocation
Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces
Reviewed-by: twisti
author | jrose |
---|---|
date | Sat, 01 May 2010 02:42:18 -0700 |
parents | 4ce7240d622c |
children | c18cbe5936b8 2d127394260e |
comparison
equal
deleted
inserted
replaced
1506:2338d41fbd81 | 1507:cd5dbf694d45 |
---|---|
1043 | 1043 |
1044 // Setup method for security checks | 1044 // Setup method for security checks |
1045 k = SystemDictionary::resolve_or_fail(vmSymbolHandles::java_lang_reflect_Method(), true, CHECK_false); | 1045 k = SystemDictionary::resolve_or_fail(vmSymbolHandles::java_lang_reflect_Method(), true, CHECK_false); |
1046 k_h = instanceKlassHandle(THREAD, k); | 1046 k_h = instanceKlassHandle(THREAD, k); |
1047 k_h->link_class(CHECK_false); | 1047 k_h->link_class(CHECK_false); |
1048 m = k_h->find_method(vmSymbols::invoke_name(), vmSymbols::object_array_object_object_signature()); | 1048 m = k_h->find_method(vmSymbols::invoke_name(), vmSymbols::object_object_array_object_signature()); |
1049 if (m == NULL || m->is_static()) { | 1049 if (m == NULL || m->is_static()) { |
1050 THROW_MSG_(vmSymbols::java_lang_NoSuchMethodException(), | 1050 THROW_MSG_(vmSymbols::java_lang_NoSuchMethodException(), |
1051 "java.lang.reflect.Method.invoke", false); | 1051 "java.lang.reflect.Method.invoke", false); |
1052 } | 1052 } |
1053 Universe::_reflect_invoke_cache->init(k_h(), m, CHECK_false); | 1053 Universe::_reflect_invoke_cache->init(k_h(), m, CHECK_false); |