Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalVMEntries.cpp @ 3586:7604c69a6301
rename com.oracle.max.graal.runtime to com.oracle.max.graal.hotspot
author | Gilles Duboscq <gilles.m.duboscq@gmail.com> |
---|---|
date | Fri, 07 Oct 2011 16:49:07 +0200 |
parents | cda0630a8640 |
children | 1692a2f9bfc5 |
comparison
equal
deleted
inserted
replaced
3585:f3e823ead645 | 3586:7604c69a6301 |
---|---|
74 return Reflection::new_constructor(method, CHECK_NULL); | 74 return Reflection::new_constructor(method, CHECK_NULL); |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 // public byte[] RiMethod_code(long vmId); | 78 // public byte[] RiMethod_code(long vmId); |
79 JNIEXPORT jbyteArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) { | 79 JNIEXPORT jbyteArray JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) { |
80 TRACE_graal_3("VMEntries::RiMethod_code"); | 80 TRACE_graal_3("VMEntries::RiMethod_code"); |
81 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); | 81 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); |
82 int code_size = method->code_size(); | 82 int code_size = method->code_size(); |
83 jbyteArray result = env->NewByteArray(code_size); | 83 jbyteArray result = env->NewByteArray(code_size); |
84 env->SetByteArrayRegion(result, 0, code_size, (const jbyte *) method->code_base()); | 84 env->SetByteArrayRegion(result, 0, code_size, (const jbyte *) method->code_base()); |
85 return result; | 85 return result; |
86 } | 86 } |
87 | 87 |
88 // public String RiMethod_signature(long vmId); | 88 // public String RiMethod_signature(long vmId); |
89 JNIEXPORT jstring JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jobject hotspot_method) { | 89 JNIEXPORT jstring JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1signature(JNIEnv *env, jobject, jobject hotspot_method) { |
90 TRACE_graal_3("VMEntries::RiMethod_signature"); | 90 TRACE_graal_3("VMEntries::RiMethod_signature"); |
91 VM_ENTRY_MARK | 91 VM_ENTRY_MARK |
92 methodOop method = getMethodFromHotSpotMethod(hotspot_method); | 92 methodOop method = getMethodFromHotSpotMethod(hotspot_method); |
93 assert(method != NULL && method->signature() != NULL, "signature required"); | 93 assert(method != NULL && method->signature() != NULL, "signature required"); |
94 return VmIds::toString<jstring>(method->signature(), THREAD); | 94 return VmIds::toString<jstring>(method->signature(), THREAD); |
95 } | 95 } |
96 | 96 |
97 // public RiExceptionHandler[] RiMethod_exceptionHandlers(long vmId); | 97 // public RiExceptionHandler[] RiMethod_exceptionHandlers(long vmId); |
98 JNIEXPORT jobjectArray JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers(JNIEnv *, jobject, jobject hotspot_method) { | 98 JNIEXPORT jobjectArray JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1exceptionHandlers(JNIEnv *, jobject, jobject hotspot_method) { |
99 TRACE_graal_3("VMEntries::RiMethod_exceptionHandlers"); | 99 TRACE_graal_3("VMEntries::RiMethod_exceptionHandlers"); |
100 VM_ENTRY_MARK | 100 VM_ENTRY_MARK |
101 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); | 101 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); |
102 typeArrayHandle handlers = method->exception_table(); | 102 typeArrayHandle handlers = method->exception_table(); |
103 int handler_count = handlers.is_null() ? 0 : handlers->length() / 4; | 103 int handler_count = handlers.is_null() ? 0 : handlers->length() / 4; |
131 | 131 |
132 return (jobjectArray) JNIHandles::make_local(array()); | 132 return (jobjectArray) JNIHandles::make_local(array()); |
133 } | 133 } |
134 | 134 |
135 // public boolean RiMethod_hasBalancedMonitors(long vmId); | 135 // public boolean RiMethod_hasBalancedMonitors(long vmId); |
136 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors(JNIEnv *, jobject, jobject hotspot_method) { | 136 JNIEXPORT jint JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1hasBalancedMonitors(JNIEnv *, jobject, jobject hotspot_method) { |
137 TRACE_graal_3("VMEntries::RiMethod_hasBalancedMonitors"); | 137 TRACE_graal_3("VMEntries::RiMethod_hasBalancedMonitors"); |
138 | 138 |
139 VM_ENTRY_MARK; | 139 VM_ENTRY_MARK; |
140 | 140 |
141 // Analyze the method to see if monitors are used properly. | 141 // Analyze the method to see if monitors are used properly. |
159 } | 159 } |
160 return true; | 160 return true; |
161 } | 161 } |
162 | 162 |
163 // public RiMethod getRiMethod(java.lang.reflect.Method reflectionMethod); | 163 // public RiMethod getRiMethod(java.lang.reflect.Method reflectionMethod); |
164 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_getRiMethod(JNIEnv *, jobject, jobject reflection_method_handle) { | 164 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_getRiMethod(JNIEnv *, jobject, jobject reflection_method_handle) { |
165 TRACE_graal_3("VMEntries::getRiMethod"); | 165 TRACE_graal_3("VMEntries::getRiMethod"); |
166 VM_ENTRY_MARK; | 166 VM_ENTRY_MARK; |
167 oop reflection_method = JNIHandles::resolve(reflection_method_handle); | 167 oop reflection_method = JNIHandles::resolve(reflection_method_handle); |
168 oop reflection_holder = java_lang_reflect_Method::clazz(reflection_method); | 168 oop reflection_holder = java_lang_reflect_Method::clazz(reflection_method); |
169 int slot = java_lang_reflect_Method::slot(reflection_method); | 169 int slot = java_lang_reflect_Method::slot(reflection_method); |
172 oop ret = GraalCompiler::createHotSpotMethodResolved(method, CHECK_NULL); | 172 oop ret = GraalCompiler::createHotSpotMethodResolved(method, CHECK_NULL); |
173 return JNIHandles::make_local(THREAD, ret); | 173 return JNIHandles::make_local(THREAD, ret); |
174 } | 174 } |
175 | 175 |
176 // public boolean RiMethod_uniqueConcreteMethod(long vmId); | 176 // public boolean RiMethod_uniqueConcreteMethod(long vmId); |
177 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod(JNIEnv *, jobject, jobject hotspot_method) { | 177 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1uniqueConcreteMethod(JNIEnv *, jobject, jobject hotspot_method) { |
178 TRACE_graal_3("VMEntries::RiMethod_uniqueConcreteMethod"); | 178 TRACE_graal_3("VMEntries::RiMethod_uniqueConcreteMethod"); |
179 | 179 |
180 VM_ENTRY_MARK; | 180 VM_ENTRY_MARK; |
181 methodOop method = getMethodFromHotSpotMethod(hotspot_method); | 181 methodOop method = getMethodFromHotSpotMethod(hotspot_method); |
182 klassOop holder = method->method_holder(); | 182 klassOop holder = method->method_holder(); |
203 return JNIHandles::make_local(THREAD, method_resolved); | 203 return JNIHandles::make_local(THREAD, method_resolved); |
204 } | 204 } |
205 } | 205 } |
206 | 206 |
207 // public native int RiMethod_invocationCount(long vmId); | 207 // public native int RiMethod_invocationCount(long vmId); |
208 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount(JNIEnv *, jobject, jobject hotspot_method) { | 208 JNIEXPORT jint JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1invocationCount(JNIEnv *, jobject, jobject hotspot_method) { |
209 TRACE_graal_3("VMEntries::RiMethod_invocationCount"); | 209 TRACE_graal_3("VMEntries::RiMethod_invocationCount"); |
210 methodOop method = getMethodFromHotSpotMethod(hotspot_method); | 210 methodOop method = getMethodFromHotSpotMethod(hotspot_method); |
211 return method->invocation_count(); | 211 return method->invocation_count(); |
212 } | 212 } |
213 | 213 |
214 // public native int RiMethod_exceptionProbability(long vmId, int bci); | 214 // public native int RiMethod_exceptionProbability(long vmId, int bci); |
215 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_2exceptionProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { | 215 JNIEXPORT jint JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2exceptionProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { |
216 TRACE_graal_3("VMEntries::RiMethod_exceptionProbability"); | 216 TRACE_graal_3("VMEntries::RiMethod_exceptionProbability"); |
217 { | 217 { |
218 VM_ENTRY_MARK; | 218 VM_ENTRY_MARK; |
219 methodOop method = getMethodFromHotSpotMethod(hotspot_method); | 219 methodOop method = getMethodFromHotSpotMethod(hotspot_method); |
220 methodDataOop method_data = method->method_data(); | 220 methodDataOop method_data = method->method_data(); |
259 } | 259 } |
260 return count; | 260 return count; |
261 } | 261 } |
262 | 262 |
263 // public native RiTypeProfile RiMethod_typeProfile(long vmId, int bci); | 263 // public native RiTypeProfile RiMethod_typeProfile(long vmId, int bci); |
264 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_2typeProfile(JNIEnv *, jobject, jobject hotspot_method, jint bci) { | 264 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2typeProfile(JNIEnv *, jobject, jobject hotspot_method, jint bci) { |
265 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); | 265 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); |
266 Handle obj; | 266 Handle obj; |
267 { | 267 { |
268 VM_ENTRY_MARK; | 268 VM_ENTRY_MARK; |
269 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); | 269 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); |
325 } | 325 } |
326 | 326 |
327 return JNIHandles::make_local(obj()); | 327 return JNIHandles::make_local(obj()); |
328 } | 328 } |
329 | 329 |
330 JNIEXPORT jdouble JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_2branchProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { | 330 JNIEXPORT jdouble JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2branchProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { |
331 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); | 331 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); |
332 ciMethodData* method_data; | 332 ciMethodData* method_data; |
333 ciMethod* cimethod; | 333 ciMethod* cimethod; |
334 { | 334 { |
335 VM_ENTRY_MARK; | 335 VM_ENTRY_MARK; |
364 else { // Compute probability of true path | 364 else { // Compute probability of true path |
365 return (jdouble)(taken) / (taken + not_taken); | 365 return (jdouble)(taken) / (taken + not_taken); |
366 } | 366 } |
367 } | 367 } |
368 | 368 |
369 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_2switchProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { | 369 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2switchProbability(JNIEnv *, jobject, jobject hotspot_method, jint bci) { |
370 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); | 370 TRACE_graal_3("VMEntries::RiMethod_typeProfile"); |
371 ciMethodData* method_data; | 371 ciMethodData* method_data; |
372 ciMethod* cimethod; | 372 ciMethod* cimethod; |
373 { | 373 { |
374 VM_ENTRY_MARK; | 374 VM_ENTRY_MARK; |
412 return JNIHandles::make_local(probability); | 412 return JNIHandles::make_local(probability); |
413 } | 413 } |
414 } | 414 } |
415 | 415 |
416 // public native boolean RiMethod_hasCompiledCode(HotSpotMethodResolved method); | 416 // public native boolean RiMethod_hasCompiledCode(HotSpotMethodResolved method); |
417 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasCompiledCode(JNIEnv *, jobject, jobject hotspot_method) { | 417 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1hasCompiledCode(JNIEnv *, jobject, jobject hotspot_method) { |
418 TRACE_graal_3("VMEntries::RiMethod_hasCompiledCode"); | 418 TRACE_graal_3("VMEntries::RiMethod_hasCompiledCode"); |
419 methodOop method = getMethodFromHotSpotMethod(hotspot_method); | 419 methodOop method = getMethodFromHotSpotMethod(hotspot_method); |
420 return method->has_compiled_code(); | 420 return method->has_compiled_code(); |
421 } | 421 } |
422 | 422 |
423 // public native boolean RiMethod_compiledCodeSize(HotSpotMethodResolved method); | 423 // public native boolean RiMethod_compiledCodeSize(HotSpotMethodResolved method); |
424 JNIEXPORT jint JNICALL Java_com_oracle_graal_runtime_VMEntries_RiMethod_1compiledCodeSize(JNIEnv *, jobject, jobject hotspot_method) { | 424 JNIEXPORT jint JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1compiledCodeSize(JNIEnv *, jobject, jobject hotspot_method) { |
425 TRACE_graal_3("VMEntries::RiMethod_compiledCodeSize"); | 425 TRACE_graal_3("VMEntries::RiMethod_compiledCodeSize"); |
426 nmethod* code = getMethodFromHotSpotMethod(hotspot_method)->code(); | 426 nmethod* code = getMethodFromHotSpotMethod(hotspot_method)->code(); |
427 if (code != NULL) { | 427 if (code != NULL) { |
428 return code->insts_end() - code->verified_entry_point(); | 428 return code->insts_end() - code->verified_entry_point(); |
429 } | 429 } |
430 return -1; | 430 return -1; |
431 } | 431 } |
432 | 432 |
433 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); | 433 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); |
434 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass) { | 434 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass) { |
435 TRACE_graal_3("VMEntries::RiSignature_lookupType"); | 435 TRACE_graal_3("VMEntries::RiSignature_lookupType"); |
436 VM_ENTRY_MARK; | 436 VM_ENTRY_MARK; |
437 | 437 |
438 Symbol* nameSymbol = VmIds::toSymbol(jname); | 438 Symbol* nameSymbol = VmIds::toSymbol(jname); |
439 Handle name = JNIHandles::resolve(jname); | 439 Handle name = JNIHandles::resolve(jname); |
480 | 480 |
481 return JNIHandles::make_local(THREAD, result); | 481 return JNIHandles::make_local(THREAD, result); |
482 } | 482 } |
483 | 483 |
484 // public Object RiConstantPool_lookupConstant(long vmId, int cpi); | 484 // public Object RiConstantPool_lookupConstant(long vmId, int cpi); |
485 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupConstant(JNIEnv *env, jobject, jlong vmId, jint index) { | 485 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupConstant(JNIEnv *env, jobject, jlong vmId, jint index) { |
486 TRACE_graal_3("VMEntries::RiConstantPool_lookupConstant"); | 486 TRACE_graal_3("VMEntries::RiConstantPool_lookupConstant"); |
487 VM_ENTRY_MARK; | 487 VM_ENTRY_MARK; |
488 | 488 |
489 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); | 489 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); |
490 | 490 |
527 | 527 |
528 return JNIHandles::make_local(THREAD, result); | 528 return JNIHandles::make_local(THREAD, result); |
529 } | 529 } |
530 | 530 |
531 // public RiMethod RiConstantPool_lookupMethod(long vmId, int cpi, byte byteCode); | 531 // public RiMethod RiConstantPool_lookupMethod(long vmId, int cpi, byte byteCode); |
532 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupMethod(JNIEnv *env, jobject, jlong vmId, jint index, jbyte byteCode) { | 532 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupMethod(JNIEnv *env, jobject, jlong vmId, jint index, jbyte byteCode) { |
533 TRACE_graal_3("VMEntries::RiConstantPool_lookupMethod"); | 533 TRACE_graal_3("VMEntries::RiConstantPool_lookupMethod"); |
534 VM_ENTRY_MARK; | 534 VM_ENTRY_MARK; |
535 index = GraalCompiler::to_cp_index_u2(index); | 535 index = GraalCompiler::to_cp_index_u2(index); |
536 constantPoolHandle cp = VmIds::get<constantPoolOop>(vmId); | 536 constantPoolHandle cp = VmIds::get<constantPoolOop>(vmId); |
537 | 537 |
549 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD)); | 549 return JNIHandles::make_local(THREAD, VMExits::createRiMethodUnresolved(name, signature, holder, THREAD)); |
550 } | 550 } |
551 } | 551 } |
552 | 552 |
553 // public RiSignature RiConstantPool_lookupSignature(long vmId, int cpi); | 553 // public RiSignature RiConstantPool_lookupSignature(long vmId, int cpi); |
554 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupSignature(JNIEnv *env, jobject, jlong vmId, jint index) { | 554 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupSignature(JNIEnv *env, jobject, jlong vmId, jint index) { |
555 fatal("currently unsupported"); | 555 fatal("currently unsupported"); |
556 return NULL; | 556 return NULL; |
557 } | 557 } |
558 | 558 |
559 // public RiType RiConstantPool_lookupType(long vmId, int cpi); | 559 // public RiType RiConstantPool_lookupType(long vmId, int cpi); |
560 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupType(JNIEnv *env, jobject, jlong vmId, jint index) { | 560 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupType(JNIEnv *env, jobject, jlong vmId, jint index) { |
561 TRACE_graal_3("VMEntries::RiConstantPool_lookupType"); | 561 TRACE_graal_3("VMEntries::RiConstantPool_lookupType"); |
562 VM_ENTRY_MARK; | 562 VM_ENTRY_MARK; |
563 | 563 |
564 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); | 564 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); |
565 | 565 |
568 ciKlass *klass = CURRENT_ENV->get_klass_by_index(cp, index, is_accessible, loading_klass); | 568 ciKlass *klass = CURRENT_ENV->get_klass_by_index(cp, index, is_accessible, loading_klass); |
569 return JNIHandles::make_local(THREAD, GraalCompiler::get_RiType(klass, cp->klass(), THREAD)); | 569 return JNIHandles::make_local(THREAD, GraalCompiler::get_RiType(klass, cp->klass(), THREAD)); |
570 } | 570 } |
571 | 571 |
572 // public void RiConstantPool_loadReferencedType(long vmId, int cpi); | 572 // public void RiConstantPool_loadReferencedType(long vmId, int cpi); |
573 JNIEXPORT void JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1loadReferencedType(JNIEnv *env, jobject, jlong vmId, jint index, jbyte op) { | 573 JNIEXPORT void JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1loadReferencedType(JNIEnv *env, jobject, jlong vmId, jint index, jbyte op) { |
574 TRACE_graal_3("VMEntries::RiConstantPool_lookupType"); | 574 TRACE_graal_3("VMEntries::RiConstantPool_lookupType"); |
575 VM_ENTRY_MARK; | 575 VM_ENTRY_MARK; |
576 | 576 |
577 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); | 577 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); |
578 int byteCode = (op & 0xFF); | 578 int byteCode = (op & 0xFF); |
592 } | 592 } |
593 } | 593 } |
594 } | 594 } |
595 | 595 |
596 // public RiField RiConstantPool_lookupField(long vmId, int cpi); | 596 // public RiField RiConstantPool_lookupField(long vmId, int cpi); |
597 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupField(JNIEnv *env, jobject, jlong vmId, jint index, jbyte byteCode) { | 597 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupField(JNIEnv *env, jobject, jlong vmId, jint index, jbyte byteCode) { |
598 TRACE_graal_3("VMEntries::RiConstantPool_lookupField"); | 598 TRACE_graal_3("VMEntries::RiConstantPool_lookupField"); |
599 VM_ENTRY_MARK; | 599 VM_ENTRY_MARK; |
600 | 600 |
601 index = GraalCompiler::to_cp_index_u2(index); | 601 index = GraalCompiler::to_cp_index_u2(index); |
602 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); | 602 constantPoolOop cp = VmIds::get<constantPoolOop>(vmId); |
657 } | 657 } |
658 return JNIHandles::make_local(THREAD, field_handle()); | 658 return JNIHandles::make_local(THREAD, field_handle()); |
659 } | 659 } |
660 | 660 |
661 // public RiConstantPool RiType_constantPool(HotSpotTypeResolved klass); | 661 // public RiConstantPool RiType_constantPool(HotSpotTypeResolved klass); |
662 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1constantPool(JNIEnv *, jobject, jobject klass) { | 662 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1constantPool(JNIEnv *, jobject, jobject klass) { |
663 TRACE_graal_3("VMEntries::RiType_constantPool"); | 663 TRACE_graal_3("VMEntries::RiType_constantPool"); |
664 VM_ENTRY_MARK; | 664 VM_ENTRY_MARK; |
665 | 665 |
666 assert(JNIHandles::resolve(klass) != NULL, ""); | 666 assert(JNIHandles::resolve(klass) != NULL, ""); |
667 constantPoolOop constantPool = ((instanceKlass*)java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))->klass_part())->constants(); | 667 constantPoolOop constantPool = ((instanceKlass*)java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))->klass_part())->constants(); |
668 return JNIHandles::make_local(VMExits::createRiConstantPool(VmIds::add<constantPoolOop>(constantPool), THREAD)); | 668 return JNIHandles::make_local(VMExits::createRiConstantPool(VmIds::add<constantPoolOop>(constantPool), THREAD)); |
669 } | 669 } |
670 | 670 |
671 // public RiMethod RiType_resolveMethodImpl(HotSpotTypeResolved klass, String name, String signature); | 671 // public RiMethod RiType_resolveMethodImpl(HotSpotTypeResolved klass, String name, String signature); |
672 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature) { | 672 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_3resolveMethodImpl(JNIEnv *, jobject, jobject resolved_type, jstring name, jstring signature) { |
673 TRACE_graal_3("VMEntries::RiType_resolveMethodImpl"); | 673 TRACE_graal_3("VMEntries::RiType_resolveMethodImpl"); |
674 VM_ENTRY_MARK; | 674 VM_ENTRY_MARK; |
675 | 675 |
676 assert(JNIHandles::resolve(resolved_type) != NULL, ""); | 676 assert(JNIHandles::resolve(resolved_type) != NULL, ""); |
677 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(resolved_type)); | 677 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(resolved_type)); |
688 oop ret = GraalCompiler::createHotSpotMethodResolved(method, CHECK_NULL); | 688 oop ret = GraalCompiler::createHotSpotMethodResolved(method, CHECK_NULL); |
689 return JNIHandles::make_local(THREAD, ret); | 689 return JNIHandles::make_local(THREAD, ret); |
690 } | 690 } |
691 | 691 |
692 // public boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other); | 692 // public boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other); |
693 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jobject klass, jobject jother) { | 693 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_2isSubtypeOf(JNIEnv *, jobject, jobject klass, jobject jother) { |
694 TRACE_graal_3("VMEntries::RiType_isSubtypeOf"); | 694 TRACE_graal_3("VMEntries::RiType_isSubtypeOf"); |
695 oop other = JNIHandles::resolve(jother); | 695 oop other = JNIHandles::resolve(jother); |
696 assert(other->is_a(HotSpotTypeResolved::klass()), "resolved hotspot type expected"); | 696 assert(other->is_a(HotSpotTypeResolved::klass()), "resolved hotspot type expected"); |
697 assert(JNIHandles::resolve(klass) != NULL, ""); | 697 assert(JNIHandles::resolve(klass) != NULL, ""); |
698 klassOop thisKlass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); | 698 klassOop thisKlass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)); |
706 return false; | 706 return false; |
707 } | 707 } |
708 } | 708 } |
709 | 709 |
710 // public RiType RiType_componentType(HotSpotResolvedType klass); | 710 // public RiType RiType_componentType(HotSpotResolvedType klass); |
711 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) { | 711 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1componentType(JNIEnv *, jobject, jobject klass) { |
712 TRACE_graal_3("VMEntries::RiType_componentType"); | 712 TRACE_graal_3("VMEntries::RiType_componentType"); |
713 ciArrayKlass* array_klass; | 713 ciArrayKlass* array_klass; |
714 { | 714 { |
715 VM_ENTRY_MARK; | 715 VM_ENTRY_MARK; |
716 assert(JNIHandles::resolve(klass) != NULL, ""); | 716 assert(JNIHandles::resolve(klass) != NULL, ""); |
722 assert(JNIHandles::resolve(klass) != NULL, ""); | 722 assert(JNIHandles::resolve(klass) != NULL, ""); |
723 return JNIHandles::make_local(GraalCompiler::get_RiType(element_type, java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)), THREAD)); | 723 return JNIHandles::make_local(GraalCompiler::get_RiType(element_type, java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass)), THREAD)); |
724 } | 724 } |
725 | 725 |
726 // public RiType RiType_superType(HotSpotResolvedType klass); | 726 // public RiType RiType_superType(HotSpotResolvedType klass); |
727 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1superType(JNIEnv *, jobject, jobject klass) { | 727 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1superType(JNIEnv *, jobject, jobject klass) { |
728 TRACE_graal_3("VMEntries::RiType_superType"); | 728 TRACE_graal_3("VMEntries::RiType_superType"); |
729 VM_ENTRY_MARK; | 729 VM_ENTRY_MARK; |
730 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); | 730 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); |
731 ciInstanceKlass* k = NULL; | 731 ciInstanceKlass* k = NULL; |
732 | 732 |
744 return NULL; | 744 return NULL; |
745 } | 745 } |
746 } | 746 } |
747 | 747 |
748 // public RiType RiType_uniqueConcreteSubtype(HotSpotResolvedType klass); | 748 // public RiType RiType_uniqueConcreteSubtype(HotSpotResolvedType klass); |
749 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1uniqueConcreteSubtype(JNIEnv *, jobject, jobject klass) { | 749 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1uniqueConcreteSubtype(JNIEnv *, jobject, jobject klass) { |
750 TRACE_graal_3("VMEntries::RiType_uniqueConcreteSubtype"); | 750 TRACE_graal_3("VMEntries::RiType_uniqueConcreteSubtype"); |
751 Thread* THREAD = Thread::current(); | 751 Thread* THREAD = Thread::current(); |
752 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); | 752 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); |
753 ciInstanceKlass* k = NULL; | 753 ciInstanceKlass* k = NULL; |
754 { | 754 { |
769 | 769 |
770 return NULL; | 770 return NULL; |
771 } | 771 } |
772 | 772 |
773 // public bool RiType_isInitialized(HotSpotResolvedType klass); | 773 // public bool RiType_isInitialized(HotSpotResolvedType klass); |
774 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1isInitialized(JNIEnv *, jobject, jobject hotspot_klass) { | 774 JNIEXPORT jboolean JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1isInitialized(JNIEnv *, jobject, jobject hotspot_klass) { |
775 TRACE_graal_3("VMEntries::RiType_isInitialized"); | 775 TRACE_graal_3("VMEntries::RiType_isInitialized"); |
776 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(hotspot_klass)); | 776 klassOop klass = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(hotspot_klass)); |
777 return instanceKlass::cast(klass)->is_initialized(); | 777 return instanceKlass::cast(klass)->is_initialized(); |
778 } | 778 } |
779 | 779 |
780 // public RiType RiType_arrayOf(HotSpotTypeResolved klass); | 780 // public RiType RiType_arrayOf(HotSpotTypeResolved klass); |
781 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf(JNIEnv *, jobject, jobject klass) { | 781 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1arrayOf(JNIEnv *, jobject, jobject klass) { |
782 TRACE_graal_3("VMEntries::RiType_arrayOf"); | 782 TRACE_graal_3("VMEntries::RiType_arrayOf"); |
783 VM_ENTRY_MARK; | 783 VM_ENTRY_MARK; |
784 | 784 |
785 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); | 785 KlassHandle klass_handle(java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(klass))); |
786 KlassHandle array = klass_handle->array_klass(THREAD); | 786 KlassHandle array = klass_handle->array_klass(THREAD); |
787 Handle name = VmIds::toString<Handle>(array->name(), CHECK_NULL); | 787 Handle name = VmIds::toString<Handle>(array->name(), CHECK_NULL); |
788 return JNIHandles::make_local(THREAD, GraalCompiler::createHotSpotTypeResolved(array, name, THREAD)); | 788 return JNIHandles::make_local(THREAD, GraalCompiler::createHotSpotTypeResolved(array, name, THREAD)); |
789 } | 789 } |
790 | 790 |
791 // public RiField[] RiType_fields(HotSpotTypeResolved klass); | 791 // public RiField[] RiType_fields(HotSpotTypeResolved klass); |
792 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_RiType_1fields(JNIEnv *, jobject, jobject klass) { | 792 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1fields(JNIEnv *, jobject, jobject klass) { |
793 TRACE_graal_3("VMEntries::RiType_fields"); | 793 TRACE_graal_3("VMEntries::RiType_fields"); |
794 KlassHandle klass_handle; | 794 KlassHandle klass_handle; |
795 ciInstanceKlass* instance_klass; | 795 ciInstanceKlass* instance_klass; |
796 objArrayHandle fieldsArray; | 796 objArrayHandle fieldsArray; |
797 HandleMark hm; | 797 HandleMark hm; |
812 } | 812 } |
813 return JNIHandles::make_local(fieldsArray()); | 813 return JNIHandles::make_local(fieldsArray()); |
814 } | 814 } |
815 | 815 |
816 // public RiType getPrimitiveArrayType(CiKind kind); | 816 // public RiType getPrimitiveArrayType(CiKind kind); |
817 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_getPrimitiveArrayType(JNIEnv *env, jobject, jobject kind) { | 817 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_getPrimitiveArrayType(JNIEnv *env, jobject, jobject kind) { |
818 TRACE_graal_3("VMEntries::VMEntries_getPrimitiveArrayType"); | 818 TRACE_graal_3("VMEntries::VMEntries_getPrimitiveArrayType"); |
819 VM_ENTRY_MARK; | 819 VM_ENTRY_MARK; |
820 BasicType type = GraalCompiler::kindToBasicType(CiKind::typeChar(kind)); | 820 BasicType type = GraalCompiler::kindToBasicType(CiKind::typeChar(kind)); |
821 assert(type != T_OBJECT, "primitive type expecteds"); | 821 assert(type != T_OBJECT, "primitive type expecteds"); |
822 ciKlass* klass = ciTypeArrayKlass::make(type); | 822 ciKlass* klass = ciTypeArrayKlass::make(type); |
823 return JNIHandles::make_local(THREAD, GraalCompiler::get_RiType(klass, KlassHandle(), THREAD)); | 823 return JNIHandles::make_local(THREAD, GraalCompiler::get_RiType(klass, KlassHandle(), THREAD)); |
824 } | 824 } |
825 | 825 |
826 // public long getMaxCallTargetOffset(CiRuntimeCall rtcall); | 826 // public long getMaxCallTargetOffset(CiRuntimeCall rtcall); |
827 JNIEXPORT jlong JNICALL Java_com_oracle_graal_runtime_VMEntries_getMaxCallTargetOffset(JNIEnv *env, jobject, jobject rtcall) { | 827 JNIEXPORT jlong JNICALL Java_com_oracle_graal_hotspot_VMEntries_getMaxCallTargetOffset(JNIEnv *env, jobject, jobject rtcall) { |
828 TRACE_graal_3("VMEntries::VMEntries_getMaxCallTargetOffset"); | 828 TRACE_graal_3("VMEntries::VMEntries_getMaxCallTargetOffset"); |
829 VM_ENTRY_MARK; | 829 VM_ENTRY_MARK; |
830 oop call = JNIHandles::resolve(rtcall); | 830 oop call = JNIHandles::resolve(rtcall); |
831 address target_addr = CodeInstaller::runtime_call_target_address(call); | 831 address target_addr = CodeInstaller::runtime_call_target_address(call); |
832 if (target_addr != 0x0) { | 832 if (target_addr != 0x0) { |
836 } | 836 } |
837 return -1; | 837 return -1; |
838 } | 838 } |
839 | 839 |
840 // public RiType getType(Class<?> javaClass); | 840 // public RiType getType(Class<?> javaClass); |
841 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_getType(JNIEnv *env, jobject, jobject javaClass) { | 841 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_getType(JNIEnv *env, jobject, jobject javaClass) { |
842 TRACE_graal_3("VMEntries::VMEntries_getType"); | 842 TRACE_graal_3("VMEntries::VMEntries_getType"); |
843 VM_ENTRY_MARK; | 843 VM_ENTRY_MARK; |
844 oop javaClassOop = JNIHandles::resolve(javaClass); | 844 oop javaClassOop = JNIHandles::resolve(javaClass); |
845 if (javaClassOop == NULL) { | 845 if (javaClassOop == NULL) { |
846 fatal("argument to VMEntries.getType must not be NULL"); | 846 fatal("argument to VMEntries.getType must not be NULL"); |
882 | 882 |
883 BasicType basicTypes[] = { T_BOOLEAN, T_BYTE, T_SHORT, T_CHAR, T_INT, T_FLOAT, T_LONG, T_DOUBLE, T_OBJECT }; | 883 BasicType basicTypes[] = { T_BOOLEAN, T_BYTE, T_SHORT, T_CHAR, T_INT, T_FLOAT, T_LONG, T_DOUBLE, T_OBJECT }; |
884 int basicTypeCount = sizeof(basicTypes) / sizeof(BasicType); | 884 int basicTypeCount = sizeof(basicTypes) / sizeof(BasicType); |
885 | 885 |
886 // public HotSpotVMConfig getConfiguration(); | 886 // public HotSpotVMConfig getConfiguration(); |
887 JNIEXPORT jobject JNICALL Java_com_oracle_graal_runtime_VMEntries_getConfiguration(JNIEnv *env, jobject) { | 887 JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_getConfiguration(JNIEnv *env, jobject) { |
888 jclass klass = env->FindClass("com/oracle/max/graal/runtime/HotSpotVMConfig"); | 888 jclass klass = env->FindClass("com/oracle/max/graal/hotspot/HotSpotVMConfig"); |
889 assert(klass != NULL, "HotSpot vm config class not found"); | 889 assert(klass != NULL, "HotSpot vm config class not found"); |
890 jobject config = env->AllocObject(klass); | 890 jobject config = env->AllocObject(klass); |
891 #ifdef _WIN64 | 891 #ifdef _WIN64 |
892 set_boolean(env, config, "windowsOs", true); | 892 set_boolean(env, config, "windowsOs", true); |
893 #else | 893 #else |
972 set_int(env, config, "arrayClassElementOffset", objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)); | 972 set_int(env, config, "arrayClassElementOffset", objArrayKlass::element_klass_offset_in_bytes() + sizeof(oopDesc)); |
973 return config; | 973 return config; |
974 } | 974 } |
975 | 975 |
976 // public void installMethod(HotSpotTargetMethod targetMethod); | 976 // public void installMethod(HotSpotTargetMethod targetMethod); |
977 JNIEXPORT void JNICALL Java_com_oracle_graal_runtime_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod) { | 977 JNIEXPORT void JNICALL Java_com_oracle_graal_hotspot_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod) { |
978 VM_ENTRY_MARK; | 978 VM_ENTRY_MARK; |
979 if (CURRENT_ENV == NULL) { | 979 if (CURRENT_ENV == NULL) { |
980 Arena arena; | 980 Arena arena; |
981 ciEnv env(&arena); | 981 ciEnv env(&arena); |
982 ResourceMark rm; | 982 ResourceMark rm; |
986 CodeInstaller installer(JNIHandles::resolve(targetMethod)); | 986 CodeInstaller installer(JNIHandles::resolve(targetMethod)); |
987 } | 987 } |
988 } | 988 } |
989 | 989 |
990 // public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name); | 990 // public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name); |
991 JNIEXPORT jlong JNICALL Java_com_oracle_graal_runtime_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) { | 991 JNIEXPORT jlong JNICALL Java_com_oracle_graal_hotspot_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) { |
992 VM_ENTRY_MARK; | 992 VM_ENTRY_MARK; |
993 jlong id; | 993 jlong id; |
994 if (CURRENT_ENV == NULL) { | 994 if (CURRENT_ENV == NULL) { |
995 Arena arena; | 995 Arena arena; |
996 ciEnv env(&arena); | 996 ciEnv env(&arena); |
1002 } | 1002 } |
1003 return id; | 1003 return id; |
1004 } | 1004 } |
1005 | 1005 |
1006 // public void recordBailout(String reason); | 1006 // public void recordBailout(String reason); |
1007 JNIEXPORT void JNICALL Java_com_oracle_graal_runtime_VMEntries_recordBailout(JNIEnv *jniEnv, jobject, jobject message) { | 1007 JNIEXPORT void JNICALL Java_com_oracle_graal_hotspot_VMEntries_recordBailout(JNIEnv *jniEnv, jobject, jobject message) { |
1008 if (GraalBailoutIsFatal) { | 1008 if (GraalBailoutIsFatal) { |
1009 Handle msg = JNIHandles::resolve(message); | 1009 Handle msg = JNIHandles::resolve(message); |
1010 if (!msg.is_null()) { | 1010 if (!msg.is_null()) { |
1011 java_lang_String::print(msg, tty); | 1011 java_lang_String::print(msg, tty); |
1012 } | 1012 } |
1020 #define CC (char*) /*cast a literal from (const char*)*/ | 1020 #define CC (char*) /*cast a literal from (const char*)*/ |
1021 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) | 1021 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) |
1022 | 1022 |
1023 #define PROXY "J" | 1023 #define PROXY "J" |
1024 #define TYPE "Lcom/sun/cri/ri/RiType;" | 1024 #define TYPE "Lcom/sun/cri/ri/RiType;" |
1025 #define RESOLVED_TYPE "Lcom/oracle/max/graal/runtime/HotSpotTypeResolved;" | 1025 #define RESOLVED_TYPE "Lcom/oracle/max/graal/hotspot/HotSpotTypeResolved;" |
1026 #define METHOD "Lcom/sun/cri/ri/RiMethod;" | 1026 #define METHOD "Lcom/sun/cri/ri/RiMethod;" |
1027 #define RESOLVED_METHOD "Lcom/oracle/max/graal/runtime/HotSpotMethodResolved;" | 1027 #define RESOLVED_METHOD "Lcom/oracle/max/graal/hotspot/HotSpotMethodResolved;" |
1028 #define REFLECT_METHOD "Ljava/lang/reflect/Method;" | 1028 #define REFLECT_METHOD "Ljava/lang/reflect/Method;" |
1029 #define TYPE_PROFILE "Lcom/sun/cri/ri/RiTypeProfile;" | 1029 #define TYPE_PROFILE "Lcom/sun/cri/ri/RiTypeProfile;" |
1030 #define SIGNATURE "Lcom/sun/cri/ri/RiSignature;" | 1030 #define SIGNATURE "Lcom/sun/cri/ri/RiSignature;" |
1031 #define FIELD "Lcom/sun/cri/ri/RiField;" | 1031 #define FIELD "Lcom/sun/cri/ri/RiField;" |
1032 #define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;" | 1032 #define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;" |
1033 #define EXCEPTION_HANDLERS "[Lcom/sun/cri/ri/RiExceptionHandler;" | 1033 #define EXCEPTION_HANDLERS "[Lcom/sun/cri/ri/RiExceptionHandler;" |
1034 #define TARGET_METHOD "Lcom/oracle/max/graal/runtime/HotSpotTargetMethod;" | 1034 #define TARGET_METHOD "Lcom/oracle/max/graal/hotspot/HotSpotTargetMethod;" |
1035 #define CONFIG "Lcom/oracle/max/graal/runtime/HotSpotVMConfig;" | 1035 #define CONFIG "Lcom/oracle/max/graal/hotspot/HotSpotVMConfig;" |
1036 #define HS_METHOD "Lcom/oracle/max/graal/runtime/HotSpotMethod;" | 1036 #define HS_METHOD "Lcom/oracle/max/graal/hotspot/HotSpotMethod;" |
1037 #define CI_CONSTANT "Lcom/sun/cri/ci/CiConstant;" | 1037 #define CI_CONSTANT "Lcom/sun/cri/ci/CiConstant;" |
1038 #define CI_KIND "Lcom/sun/cri/ci/CiKind;" | 1038 #define CI_KIND "Lcom/sun/cri/ci/CiKind;" |
1039 #define CI_RUNTIME_CALL "Lcom/sun/cri/ci/CiRuntimeCall;" | 1039 #define CI_RUNTIME_CALL "Lcom/sun/cri/ci/CiRuntimeCall;" |
1040 #define STRING "Ljava/lang/String;" | 1040 #define STRING "Ljava/lang/String;" |
1041 #define OBJECT "Ljava/lang/Object;" | 1041 #define OBJECT "Ljava/lang/Object;" |
1042 #define CLASS "Ljava/lang/Class;" | 1042 #define CLASS "Ljava/lang/Class;" |
1043 | 1043 |
1044 JNINativeMethod VMEntries_methods[] = { | 1044 JNINativeMethod VMEntries_methods[] = { |
1045 {CC"RiMethod_code", CC"("RESOLVED_METHOD")[B", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1code)}, | 1045 {CC"RiMethod_code", CC"("RESOLVED_METHOD")[B", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1code)}, |
1046 {CC"RiMethod_signature", CC"("RESOLVED_METHOD")"STRING, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1signature)}, | 1046 {CC"RiMethod_signature", CC"("RESOLVED_METHOD")"STRING, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1signature)}, |
1047 {CC"RiMethod_exceptionHandlers", CC"("RESOLVED_METHOD")"EXCEPTION_HANDLERS, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1exceptionHandlers)}, | 1047 {CC"RiMethod_exceptionHandlers", CC"("RESOLVED_METHOD")"EXCEPTION_HANDLERS, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1exceptionHandlers)}, |
1048 {CC"RiMethod_hasBalancedMonitors", CC"("RESOLVED_METHOD")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasBalancedMonitors)}, | 1048 {CC"RiMethod_hasBalancedMonitors", CC"("RESOLVED_METHOD")Z", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1hasBalancedMonitors)}, |
1049 {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1uniqueConcreteMethod)}, | 1049 {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1uniqueConcreteMethod)}, |
1050 {CC"getRiMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getRiMethod)}, | 1050 {CC"getRiMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getRiMethod)}, |
1051 {CC"RiMethod_typeProfile", CC"("RESOLVED_METHOD"I)"TYPE_PROFILE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_2typeProfile)}, | 1051 {CC"RiMethod_typeProfile", CC"("RESOLVED_METHOD"I)"TYPE_PROFILE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2typeProfile)}, |
1052 {CC"RiMethod_branchProbability", CC"("RESOLVED_METHOD"I)D", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_2branchProbability)}, | 1052 {CC"RiMethod_branchProbability", CC"("RESOLVED_METHOD"I)D", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2branchProbability)}, |
1053 {CC"RiMethod_switchProbability", CC"("RESOLVED_METHOD"I)[D", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_2switchProbability)}, | 1053 {CC"RiMethod_switchProbability", CC"("RESOLVED_METHOD"I)[D", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2switchProbability)}, |
1054 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1invocationCount)}, | 1054 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1invocationCount)}, |
1055 {CC"RiMethod_exceptionProbability", CC"("RESOLVED_METHOD"I)I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_2exceptionProbability)}, | 1055 {CC"RiMethod_exceptionProbability", CC"("RESOLVED_METHOD"I)I", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_2exceptionProbability)}, |
1056 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1hasCompiledCode)}, | 1056 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1hasCompiledCode)}, |
1057 {CC"RiMethod_compiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiMethod_1compiledCodeSize)}, | 1057 {CC"RiMethod_compiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiMethod_1compiledCodeSize)}, |
1058 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiSignature_1lookupType)}, | 1058 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiSignature_1lookupType)}, |
1059 {CC"RiConstantPool_lookupConstant", CC"("PROXY"I)"OBJECT, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupConstant)}, | 1059 {CC"RiConstantPool_lookupConstant", CC"("PROXY"I)"OBJECT, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupConstant)}, |
1060 {CC"RiConstantPool_lookupMethod", CC"("PROXY"IB)"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupMethod)}, | 1060 {CC"RiConstantPool_lookupMethod", CC"("PROXY"IB)"METHOD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupMethod)}, |
1061 {CC"RiConstantPool_lookupSignature", CC"("PROXY"I)"SIGNATURE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupSignature)}, | 1061 {CC"RiConstantPool_lookupSignature", CC"("PROXY"I)"SIGNATURE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupSignature)}, |
1062 {CC"RiConstantPool_lookupType", CC"("PROXY"I)"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupType)}, | 1062 {CC"RiConstantPool_lookupType", CC"("PROXY"I)"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupType)}, |
1063 {CC"RiConstantPool_loadReferencedType", CC"("PROXY"IB)V", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1loadReferencedType)}, | 1063 {CC"RiConstantPool_loadReferencedType", CC"("PROXY"IB)V", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1loadReferencedType)}, |
1064 {CC"RiConstantPool_lookupField", CC"("PROXY"IB)"FIELD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiConstantPool_1lookupField)}, | 1064 {CC"RiConstantPool_lookupField", CC"("PROXY"IB)"FIELD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiConstantPool_1lookupField)}, |
1065 {CC"RiType_constantPool", CC"("RESOLVED_TYPE")"CONSTANT_POOL, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1constantPool)}, | 1065 {CC"RiType_constantPool", CC"("RESOLVED_TYPE")"CONSTANT_POOL, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1constantPool)}, |
1066 {CC"RiType_resolveMethodImpl", CC"("RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_3resolveMethodImpl)}, | 1066 {CC"RiType_resolveMethodImpl", CC"("RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_3resolveMethodImpl)}, |
1067 {CC"RiType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_2isSubtypeOf)}, | 1067 {CC"RiType_isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_2isSubtypeOf)}, |
1068 {CC"RiType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1componentType)}, | 1068 {CC"RiType_componentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1componentType)}, |
1069 {CC"RiType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1uniqueConcreteSubtype)}, | 1069 {CC"RiType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1uniqueConcreteSubtype)}, |
1070 {CC"RiType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1superType)}, | 1070 {CC"RiType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1superType)}, |
1071 {CC"RiType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1arrayOf)}, | 1071 {CC"RiType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1arrayOf)}, |
1072 {CC"RiType_fields", CC"("RESOLVED_TYPE")["FIELD, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1fields)}, | 1072 {CC"RiType_fields", CC"("RESOLVED_TYPE")["FIELD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1fields)}, |
1073 {CC"RiType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_RiType_1isInitialized)}, | 1073 {CC"RiType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1isInitialized)}, |
1074 {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getPrimitiveArrayType)}, | 1074 {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getPrimitiveArrayType)}, |
1075 {CC"getMaxCallTargetOffset", CC"("CI_RUNTIME_CALL")J", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getMaxCallTargetOffset)}, | 1075 {CC"getMaxCallTargetOffset", CC"("CI_RUNTIME_CALL")J", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getMaxCallTargetOffset)}, |
1076 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getType)}, | 1076 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getType)}, |
1077 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_getConfiguration)}, | 1077 {CC"getConfiguration", CC"()"CONFIG, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getConfiguration)}, |
1078 {CC"installMethod", CC"("TARGET_METHOD")V", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installMethod)}, | 1078 {CC"installMethod", CC"("TARGET_METHOD")V", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_installMethod)}, |
1079 {CC"installStub", CC"("TARGET_METHOD")"PROXY, FN_PTR(Java_com_oracle_graal_runtime_VMEntries_installStub)}, | 1079 {CC"installStub", CC"("TARGET_METHOD")"PROXY, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_installStub)}, |
1080 {CC"recordBailout", CC"("STRING")V", FN_PTR(Java_com_oracle_graal_runtime_VMEntries_recordBailout)} | 1080 {CC"recordBailout", CC"("STRING")V", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_recordBailout)} |
1081 }; | 1081 }; |
1082 | 1082 |
1083 int VMEntries_methods_count() { | 1083 int VMEntries_methods_count() { |
1084 return sizeof(VMEntries_methods) / sizeof(JNINativeMethod); | 1084 return sizeof(VMEntries_methods) / sizeof(JNINativeMethod); |
1085 } | 1085 } |