Mercurial > hg > graal-jvmci-8
diff src/share/vm/graal/graalCompilerToVM.cpp @ 15725:ef6b8d1898e6
Add resolved receiver type to ResolvedJavaMethod.isInVirtualMethodTable in order to be able to do vtable-calls for miranda and default methods
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Sat, 17 May 2014 14:57:58 +0200 |
parents | c583759bbcfd |
children | 668d158f780c |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp Sat May 17 11:41:35 2014 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Sat May 17 14:57:58 2014 +0200 @@ -468,6 +468,13 @@ return (jlong) (address) result.field_holder(); C2V_END +C2V_VMENTRY(jint, getVtableIndexForInterface, (JNIEnv *, jobject, jlong metaspace_klass, jlong metaspace_method)) + Klass* klass = (Klass*) metaspace_klass; + Method* method = (Method*) metaspace_method; + + return LinkResolver::vtable_index_of_interface_method(klass, method); +C2V_END + C2V_VMENTRY(jlong, resolveMethod, (JNIEnv *, jobject, jlong metaspace_klass_receiver, jlong metaspace_method, jlong metaspace_klass_caller)) Klass* recv_klass = (Klass*) metaspace_klass_receiver; Klass* caller_klass = (Klass*) metaspace_klass_caller;