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;