comparison src/share/vm/graal/graalVMEntries.cpp @ 3011:f00918f35c7f

inlining and runtime interface related changes: added codeSize() and compilerStorage() to RiMethod HotSpotMethodResolved uses reflective methods instead of vmIds and survives compilations HotSpotResolvedType.isInitialized not represented as field (can change) inlining stores graphs into method objects and reuses them
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 16 Jun 2011 20:36:17 +0200
parents 66ecfc755c86
children 681a227c332b
comparison
equal deleted inserted replaced
2993:3671e31615c9 3011:f00918f35c7f
30 #include "graal/graalVmIds.hpp" 30 #include "graal/graalVmIds.hpp"
31 #include "c1/c1_Runtime1.hpp" 31 #include "c1/c1_Runtime1.hpp"
32 #include "memory/oopFactory.hpp" 32 #include "memory/oopFactory.hpp"
33 #include "ci/ciMethodData.hpp" 33 #include "ci/ciMethodData.hpp"
34 34
35 methodOop getMethodFromHotSpotMethod(jobject hotspot_method) {
36 return getMethodFromHotSpotMethod(JNIHandles::resolve(hotspot_method));
37 }
38
39 methodOop getMethodFromHotSpotMethod(oop hotspot_method) {
40 oop reflected = HotSpotMethodResolved::javaMirror(hotspot_method);
41 assert(reflected != NULL, "NULL not expected");
42
43 // method is a handle to a java.lang.reflect.Method object
44 oop mirror = NULL;
45 int slot = 0;
46
47 if (reflected->klass() == SystemDictionary::reflect_Constructor_klass()) {
48 mirror = java_lang_reflect_Constructor::clazz(reflected);
49 slot = java_lang_reflect_Constructor::slot(reflected);
50 } else {
51 assert(reflected->klass() == SystemDictionary::reflect_Method_klass(), "wrong type");
52 mirror = java_lang_reflect_Method::clazz(reflected);
53 slot = java_lang_reflect_Method::slot(reflected);
54 }
55 klassOop k = java_lang_Class::as_klassOop(mirror);
56
57 // Make sure class is initialized before handing id's out to methods
58 // assert(instanceKlass::cast(k)->is_initialized(), "only initialized classes expected");
59 methodOop m = instanceKlass::cast(k)->method_with_idnum(slot);
60 assert(m != NULL, "deleted method?");
61 return m;
62 }
63
64 oop getReflectedMethod(methodOop method, TRAPS) {
65 assert(method != NULL, "NULL not expected");
66
67 if (!method->is_initializer() || method->is_static()) {
68 return Reflection::new_method(method, true, true, CHECK_NULL);
69 } else {
70 return Reflection::new_constructor(method, CHECK_NULL);
71 }
72 }
73
35 // public byte[] RiMethod_code(long vmId); 74 // public byte[] RiMethod_code(long vmId);
36 JNIEXPORT jbyteArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jlong vmId) { 75 JNIEXPORT jbyteArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) {
37 TRACE_graal_3("VMEntries::RiMethod_code"); 76 TRACE_graal_3("VMEntries::RiMethod_code");
38 methodHandle method = VmIds::get<methodOop>(vmId); 77 methodHandle method = getMethodFromHotSpotMethod(hotspot_method);
39 int code_size = method->code_size(); 78 int code_size = method->code_size();
40 jbyteArray result = env->NewByteArray(code_size); 79 jbyteArray result = env->NewByteArray(code_size);
41 env->SetByteArrayRegion(result, 0, code_size, (const jbyte *) method->code_base()); 80 env->SetByteArrayRegion(result, 0, code_size, (const jbyte *) method->code_base());
42 return result; 81 return result;
43 } 82 }
44 83
45 // public int RiMethod_maxStackSize(long vmId);
46 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1maxStackSize(JNIEnv *, jobject, jlong vmId) {
47 TRACE_graal_3("VMEntries::RiMethod_maxStackSize");
48 return VmIds::get<methodOop>(vmId)->max_stack();
49 }
50
51 // public int RiMethod_maxLocals(long vmId);
52 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1maxLocals(JNIEnv *, jobject, jlong vmId) {
53 TRACE_graal_3("VMEntries::RiMethod_maxLocals");
54 return VmIds::get<methodOop>(vmId)->max_locals();
55 }
56
57 // public RiType RiMethod_holder(long vmId);
58 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1holder(JNIEnv *, jobject, jlong vmId) {
59 TRACE_graal_3("VMEntries::RiMethod_holder");
60 VM_ENTRY_MARK
61 KlassHandle klass = VmIds::get<methodOop>(vmId)->method_holder();
62 Handle name = VmIds::toString<Handle>(klass->name(), CHECK_NULL);
63 oop holder = GraalCompiler::createHotSpotTypeResolved(klass, name, CHECK_NULL);
64 return JNIHandles::make_local(THREAD, holder);
65 }
66
67 // public String RiMethod_signature(long vmId); 84 // public String RiMethod_signature(long vmId);
68 JNIEXPORT jstring JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jlong vmId) { 85 JNIEXPORT jstring JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jobject hotspot_method) {
69 TRACE_graal_3("VMEntries::RiMethod_signature"); 86 TRACE_graal_3("VMEntries::RiMethod_signature");
70 VM_ENTRY_MARK 87 VM_ENTRY_MARK
71 methodOop method = VmIds::get<methodOop>(vmId); 88 methodOop method = getMethodFromHotSpotMethod(hotspot_method);
89 assert(method != NULL && method->signature() != NULL, "signature required");
72 return VmIds::toString<jstring>(method->signature(), THREAD); 90 return VmIds::toString<jstring>(method->signature(), THREAD);
73 } 91 }
74 92
75 // public int RiMethod_accessFlags(long vmId);
76 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1accessFlags(JNIEnv *, jobject, jlong vmId) {
77 TRACE_graal_3("VMEntries::RiMethod_accessFlags");
78 return VmIds::get<methodOop>(vmId)->access_flags().as_int();
79 }
80
81 // public RiExceptionHandler[] RiMethod_exceptionHandlers(long vmId); 93 // public RiExceptionHandler[] RiMethod_exceptionHandlers(long vmId);
82 JNIEXPORT jobjectArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers(JNIEnv *, jobject, jlong vmId) { 94 JNIEXPORT jobjectArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers(JNIEnv *, jobject, jobject hotspot_method) {
83 TRACE_graal_3("VMEntries::RiMethod_exceptionHandlers"); 95 TRACE_graal_3("VMEntries::RiMethod_exceptionHandlers");
84 VM_ENTRY_MARK 96 VM_ENTRY_MARK
85 methodHandle method = VmIds::get<methodOop>(vmId); 97 methodHandle method = getMethodFromHotSpotMethod(hotspot_method);
86 typeArrayHandle handlers = method->exception_table(); 98 typeArrayHandle handlers = method->exception_table();
87 int handler_count = handlers.is_null() ? 0 : handlers->length() / 4; 99 int handler_count = handlers.is_null() ? 0 : handlers->length() / 4;
88 100
89 instanceKlass::cast(HotSpotExceptionHandler::klass())->initialize(CHECK_NULL); 101 instanceKlass::cast(HotSpotExceptionHandler::klass())->initialize(CHECK_NULL);
90 objArrayHandle array = oopFactory::new_objArray(SystemDictionary::RiExceptionHandler_klass(), handler_count, CHECK_NULL); 102 objArrayHandle array = oopFactory::new_objArray(SystemDictionary::RiExceptionHandler_klass(), handler_count, CHECK_NULL);
115 127
116 return (jobjectArray) JNIHandles::make_local(array()); 128 return (jobjectArray) JNIHandles::make_local(array());
117 } 129 }
118 130
119 // public boolean RiMethod_hasBalancedMonitors(long vmId); 131 // public boolean RiMethod_hasBalancedMonitors(long vmId);
120 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors(JNIEnv *, jobject, jlong vmId) { 132 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors(JNIEnv *, jobject, jobject hotspot_method) {
121 TRACE_graal_3("VMEntries::RiMethod_hasBalancedMonitors"); 133 TRACE_graal_3("VMEntries::RiMethod_hasBalancedMonitors");
122 ciMethod* cimethod; 134 ciMethod* cimethod;
123 { 135 {
124 VM_ENTRY_MARK; 136 VM_ENTRY_MARK;
125 cimethod = (ciMethod*)CURRENT_ENV->get_object(VmIds::get<methodOop>(vmId)); 137 methodOop method = getMethodFromHotSpotMethod(hotspot_method);
138 cimethod = (ciMethod*)CURRENT_ENV->get_object(method);
126 } 139 }
127 return cimethod->has_balanced_monitors(); 140 return cimethod->has_balanced_monitors();
128 } 141 }
129 142
130 // public boolean RiMethod_uniqueConcreteMethod(long vmId); 143 // public boolean RiMethod_uniqueConcreteMethod(long vmId);
131 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod(JNIEnv *, jobject, jlong vmId) { 144 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod(JNIEnv *, jobject, jobject hotspot_method) {
132 TRACE_graal_3("VMEntries::RiMethod_uniqueConcreteMethod"); 145 TRACE_graal_3("VMEntries::RiMethod_uniqueConcreteMethod");
133 VM_ENTRY_MARK; 146 VM_ENTRY_MARK;
134 ciMethod* cimethod = (ciMethod*)CURRENT_ENV->get_object(VmIds::get<methodOop>(vmId)); 147 methodOop m = getMethodFromHotSpotMethod(hotspot_method);
148 ciMethod* cimethod = (ciMethod*)CURRENT_ENV->get_object(m);
135 if (cimethod->holder()->is_interface()) { 149 if (cimethod->holder()->is_interface()) {
136 // Cannot trust interfaces. Because of: 150 // Cannot trust interfaces. Because of:
137 // interface I { void foo(); } 151 // interface I { void foo(); }
138 // class A { public void foo() {} } 152 // class A { public void foo() {} }
139 // class B extends A implements I { } 153 // class B extends A implements I { }
153 if (unique_concrete.is_null()) { 167 if (unique_concrete.is_null()) {
154 return NULL; 168 return NULL;
155 } 169 }
156 170
157 Handle name = VmIds::toString<Handle>(unique_concrete->name(), CHECK_NULL); 171 Handle name = VmIds::toString<Handle>(unique_concrete->name(), CHECK_NULL);
158 oop method_resolved = VMExits::createRiMethodResolved(VmIds::add<methodOop>(unique_concrete()), name, CHECK_NULL); 172 oop method_resolved = GraalCompiler::createHotSpotMethodResolved(unique_concrete(), name, CHECK_NULL);
159 return JNIHandles::make_local(THREAD, method_resolved); 173 return JNIHandles::make_local(THREAD, method_resolved);
160 } 174 }
161 175
162 // public native int RiMethod_invocationCount(long vmId); 176 // public native int RiMethod_invocationCount(long vmId);
163 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount(JNIEnv *, jobject, jlong vmId) { 177 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount(JNIEnv *, jobject, jobject hotspot_method) {
164 TRACE_graal_3("VMEntries::RiMethod_invocationCount"); 178 TRACE_graal_3("VMEntries::RiMethod_invocationCount");
165 return VmIds::get<methodOop>(vmId)->invocation_count(); 179 methodOop method = getMethodFromHotSpotMethod(hotspot_method);
180 return method->invocation_count();
166 } 181 }
167 182
168 // public native RiTypeProfile RiMethod_typeProfile(long vmId, int bci); 183 // public native RiTypeProfile RiMethod_typeProfile(long vmId, int bci);
169 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1typeProfile(JNIEnv *, jobject, jlong vmId, jint bci) { 184 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1typeProfile(JNIEnv *, jobject, jobject hotspot_method, jint bci) {
170 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); 185 TRACE_graal_3("VMEntries::RiMethod_typeProfile");
171 ciMethod* cimethod; 186 ciMethod* cimethod;
172 { 187 {
173 VM_ENTRY_MARK; 188 VM_ENTRY_MARK;
174 cimethod = (ciMethod*)CURRENT_ENV->get_object(VmIds::get<methodOop>(vmId)); 189 methodOop method = getMethodFromHotSpotMethod(hotspot_method);
190 cimethod = (ciMethod*)CURRENT_ENV->get_object(method);
175 } 191 }
176 192
177 ciCallProfile profile = cimethod->call_profile_at_bci(bci); 193 ciCallProfile profile = cimethod->call_profile_at_bci(bci);
178 194
179 Handle obj; 195 Handle obj;
204 220
205 return JNIHandles::make_local(obj()); 221 return JNIHandles::make_local(obj());
206 } 222 }
207 223
208 // public native RiTypeProfile RiMethod_branchProfile(long vmId, int bci); 224 // public native RiTypeProfile RiMethod_branchProfile(long vmId, int bci);
209 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1branchProbability(JNIEnv *, jobject, jlong vmId, jint bci) { 225 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1branchProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) {
210 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); 226 TRACE_graal_3("VMEntries::RiMethod_typeProfile");
211 ciMethodData* method_data; 227 ciMethodData* method_data;
212 ciMethod* cimethod; 228 ciMethod* cimethod;
213 { 229 {
214 VM_ENTRY_MARK; 230 VM_ENTRY_MARK;
215 cimethod = (ciMethod*)CURRENT_ENV->get_object(VmIds::get<methodOop>(vmId)); 231 methodOop method = getMethodFromHotSpotMethod(hotspot_method);
232 cimethod = (ciMethod*)CURRENT_ENV->get_object(method);
216 } 233 }
217 method_data = cimethod->method_data(); 234 method_data = cimethod->method_data();
218 235
219 jfloat probability = -1; 236 jfloat probability = -1;
220 237
359 ciInstanceKlass* loading_klass = (ciInstanceKlass *) CURRENT_ENV->get_object(cp->pool_holder()); 376 ciInstanceKlass* loading_klass = (ciInstanceKlass *) CURRENT_ENV->get_object(cp->pool_holder());
360 ciMethod *cimethod = CURRENT_ENV->get_method_by_index(cp, index, bc, loading_klass); 377 ciMethod *cimethod = CURRENT_ENV->get_method_by_index(cp, index, bc, loading_klass);
361 if (cimethod->is_loaded()) { 378 if (cimethod->is_loaded()) {
362 methodOop method = (methodOop) cimethod->get_oop(); 379 methodOop method = (methodOop) cimethod->get_oop();
363 Handle name = VmIds::toString<Handle>(method->name(), CHECK_NULL); 380 Handle name = VmIds::toString<Handle>(method->name(), CHECK_NULL);
364 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), name, THREAD)); 381 oop ret = GraalCompiler::createHotSpotMethodResolved(method, name, CHECK_NULL);
382 return JNIHandles::make_local(THREAD, ret);
365 } else { 383 } else {
366 Handle name = VmIds::toString<Handle>(cimethod->name()->get_symbol(), CHECK_NULL); 384 Handle name = VmIds::toString<Handle>(cimethod->name()->get_symbol(), CHECK_NULL);
367 Handle signature = VmIds::toString<Handle>(cimethod->signature()->as_symbol()->get_symbol(), CHECK_NULL); 385 Handle signature = VmIds::toString<Handle>(cimethod->signature()->as_symbol()->get_symbol(), CHECK_NULL);
368 Handle holder = GraalCompiler::get_RiType(cimethod->holder(), cp->klass(), THREAD); 386 Handle holder = GraalCompiler::get_RiType(cimethod->holder(), cp->klass(), THREAD);
369 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD)); 387 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD));
479 ResourceMark rm; 497 ResourceMark rm;
480 tty->print_cr("Could not resolve method %s %s on klass %s", name_symbol->as_C_string(), signature_symbol->as_C_string(), klass->klass_part()->name()->as_C_string()); 498 tty->print_cr("Could not resolve method %s %s on klass %s", name_symbol->as_C_string(), signature_symbol->as_C_string(), klass->klass_part()->name()->as_C_string());
481 } 499 }
482 return NULL; 500 return NULL;
483 } 501 }
484 return JNIHandles::make_local(THREAD, VMExits::createRiMethodResolved(VmIds::add<methodOop>(method), Handle(JNIHandles::resolve(name)), THREAD)); 502 oop ret = GraalCompiler::createHotSpotMethodResolved(method, Handle(JNIHandles::resolve(name)), CHECK_NULL);
503 return JNIHandles::make_local(THREAD, ret);
485 } 504 }
486 505
487 // public boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other); 506 // public boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other);
488 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jobject klass, jobject jother) { 507 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jobject klass, jobject jother) {
489 TRACE_graal_3("VMEntries::RiType_isSubtypeOf"); 508 TRACE_graal_3("VMEntries::RiType_isSubtypeOf");
561 assert(!k->is_interface(), ""); 580 assert(!k->is_interface(), "");
562 return klass; 581 return klass;
563 } 582 }
564 583
565 return NULL; 584 return NULL;
585 }
586
587 // public bool RiType_isInitialized(HotSpotResolvedType klass);
588 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1isInitialized(JNIEnv *, jobject, jobject hotspot_klass) {
589 TRACE_graal_3("VMEntries::RiType_isInitialized");
590 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(hotspot_klass));
591 return instanceKlass::cast(klass)->is_initialized();
566 } 592 }
567 593
568 // public RiType RiType_arrayOf(HotSpotTypeResolved klass); 594 // public RiType RiType_arrayOf(HotSpotTypeResolved klass);
569 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf(JNIEnv *, jobject, jobject klass) { 595 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf(JNIEnv *, jobject, jobject klass) {
570 TRACE_graal_3("VMEntries::RiType_arrayOf"); 596 TRACE_graal_3("VMEntries::RiType_arrayOf");
752 778
753 #define PROXY "J" 779 #define PROXY "J"
754 #define TYPE "Lcom/sun/cri/ri/RiType;" 780 #define TYPE "Lcom/sun/cri/ri/RiType;"
755 #define RESOLVED_TYPE "Lcom/oracle/max/graal/runtime/HotSpotTypeResolved;" 781 #define RESOLVED_TYPE "Lcom/oracle/max/graal/runtime/HotSpotTypeResolved;"
756 #define METHOD "Lcom/sun/cri/ri/RiMethod;" 782 #define METHOD "Lcom/sun/cri/ri/RiMethod;"
783 #define RESOLVED_METHOD "Lcom/oracle/max/graal/runtime/HotSpotMethodResolved;"
757 #define TYPE_PROFILE "Lcom/sun/cri/ri/RiTypeProfile;" 784 #define TYPE_PROFILE "Lcom/sun/cri/ri/RiTypeProfile;"
758 #define SIGNATURE "Lcom/sun/cri/ri/RiSignature;" 785 #define SIGNATURE "Lcom/sun/cri/ri/RiSignature;"
759 #define FIELD "Lcom/sun/cri/ri/RiField;" 786 #define FIELD "Lcom/sun/cri/ri/RiField;"
760 #define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;" 787 #define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;"
761 #define EXCEPTION_HANDLERS "[Lcom/sun/cri/ri/RiExceptionHandler;" 788 #define EXCEPTION_HANDLERS "[Lcom/sun/cri/ri/RiExceptionHandler;"
767 #define STRING "Ljava/lang/String;" 794 #define STRING "Ljava/lang/String;"
768 #define OBJECT "Ljava/lang/Object;" 795 #define OBJECT "Ljava/lang/Object;"
769 #define CLASS "Ljava/lang/Class;" 796 #define CLASS "Ljava/lang/Class;"
770 797
771 JNINativeMethod VMEntries_methods[] = { 798 JNINativeMethod VMEntries_methods[] = {
772 {CC"RiMethod_code", CC"("PROXY")[B", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code)}, 799 {CC"RiMethod_code", CC"("RESOLVED_METHOD")[B", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code)},
773 {CC"RiMethod_maxStackSize", CC"("PROXY")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1maxStackSize)}, 800 {CC"RiMethod_signature", CC"("RESOLVED_METHOD")"STRING, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature)},
774 {CC"RiMethod_maxLocals", CC"("PROXY")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1maxLocals)}, 801 {CC"RiMethod_exceptionHandlers", CC"("RESOLVED_METHOD")"EXCEPTION_HANDLERS, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers)},
775 {CC"RiMethod_holder", CC"("PROXY")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1holder)}, 802 {CC"RiMethod_hasBalancedMonitors", CC"("RESOLVED_METHOD")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors)},
776 {CC"RiMethod_signature", CC"("PROXY")"STRING, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature)}, 803 {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod)},
777 {CC"RiMethod_accessFlags", CC"("PROXY")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1accessFlags)}, 804 {CC"RiMethod_typeProfile", CC"("RESOLVED_METHOD"I)"TYPE_PROFILE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1typeProfile)},
778 {CC"RiMethod_exceptionHandlers", CC"("PROXY")"EXCEPTION_HANDLERS, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers)}, 805 {CC"RiMethod_branchProbability", CC"("RESOLVED_METHOD"I)I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1branchProbability)},
779 {CC"RiMethod_hasBalancedMonitors", CC"("PROXY")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors)}, 806 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount)},
780 {CC"RiMethod_uniqueConcreteMethod", CC"("PROXY")"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod)},
781 {CC"RiMethod_invocationCount", CC"("PROXY")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount)},
782 {CC"RiMethod_typeProfile", CC"("PROXY"I)"TYPE_PROFILE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1typeProfile)},
783 {CC"RiMethod_branchProbability", CC"("PROXY"I)I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1branchProbability)},
784 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiSignature_1lookupType)}, 807 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiSignature_1lookupType)},
785 {CC"RiConstantPool_lookupConstant", CC"("PROXY"I)"OBJECT, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupConstant)}, 808 {CC"RiConstantPool_lookupConstant", CC"("PROXY"I)"OBJECT, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupConstant)},
786 {CC"RiConstantPool_lookupMethod", CC"("PROXY"IB)"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupMethod)}, 809 {CC"RiConstantPool_lookupMethod", CC"("PROXY"IB)"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupMethod)},
787 {CC"RiConstantPool_lookupSignature", CC"("PROXY"I)"SIGNATURE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupSignature)}, 810 {CC"RiConstantPool_lookupSignature", CC"("PROXY"I)"SIGNATURE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupSignature)},
788 {CC"RiConstantPool_lookupType", CC"("PROXY"I)"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupType)}, 811 {CC"RiConstantPool_lookupType", CC"("PROXY"I)"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupType)},
792 {CC"RiType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf)}, 815 {CC"RiType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf)},
793 {CC"RiType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1componentType)}, 816 {CC"RiType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1componentType)},
794 {CC"RiType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1uniqueConcreteSubtype)}, 817 {CC"RiType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1uniqueConcreteSubtype)},
795 {CC"RiType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1superType)}, 818 {CC"RiType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1superType)},
796 {CC"RiType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf)}, 819 {CC"RiType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf)},
820 {CC"RiType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1isInitialized)},
797 {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getPrimitiveArrayType)}, 821 {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getPrimitiveArrayType)},
798 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getType)}, 822 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getType)},
799 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getConfiguration)}, 823 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getConfiguration)},
800 {CC"installMethod", CC"("TARGET_METHOD")V", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installMethod)}, 824 {CC"installMethod", CC"("TARGET_METHOD")V", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installMethod)},
801 {CC"installStub", CC"("TARGET_METHOD")"PROXY, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installStub)}, 825 {CC"installStub", CC"("TARGET_METHOD")"PROXY, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installStub)},