Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 6950:41938af2b3d8
modifications to support non-perm-gen changes in HotSpot
fixed issue when intrinsifying Class.getModifiers() for primitive classes
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 14 Nov 2012 11:28:02 +0100 |
parents | e522a00b91aa |
children | e54fcd0405f6 |
comparison
equal
deleted
inserted
replaced
6949:d09b0fed89db | 6950:41938af2b3d8 |
---|---|
250 Handle name = VmIds::toString<Handle>(method->name(), CHECK); | 250 Handle name = VmIds::toString<Handle>(method->name(), CHECK); |
251 InstanceKlass::cast(HotSpotResolvedJavaMethod::klass())->initialize(CHECK); | 251 InstanceKlass::cast(HotSpotResolvedJavaMethod::klass())->initialize(CHECK); |
252 HotSpotResolvedJavaMethod::set_name(hotspot_method, name()); | 252 HotSpotResolvedJavaMethod::set_name(hotspot_method, name()); |
253 HotSpotResolvedJavaMethod::set_codeSize(hotspot_method, method->code_size()); | 253 HotSpotResolvedJavaMethod::set_codeSize(hotspot_method, method->code_size()); |
254 HotSpotResolvedJavaMethod::set_exceptionHandlerCount(hotspot_method, method->exception_table_length()); | 254 HotSpotResolvedJavaMethod::set_exceptionHandlerCount(hotspot_method, method->exception_table_length()); |
255 HotSpotResolvedJavaMethod::set_canBeInlined(hotspot_method, !method->is_not_compilable() && !CompilerOracle::should_not_inline(method)); | 255 C2V_END |
256 | |
257 C2V_VMENTRY(jboolean, isMethodCompilable,(JNIEnv *, jobject, jlong metaspace_method)) | |
258 methodHandle method = asMethod(metaspace_method); | |
259 return !method->is_not_compilable() && !CompilerOracle::should_not_inline(method); | |
256 C2V_END | 260 C2V_END |
257 | 261 |
258 C2V_VMENTRY(void, initializeMethodData,(JNIEnv *, jobject, jlong metaspace_method_data, jobject hotspot_method_data)) | 262 C2V_VMENTRY(void, initializeMethodData,(JNIEnv *, jobject, jlong metaspace_method_data, jobject hotspot_method_data)) |
259 MethodData* method_data = asMethodData(metaspace_method_data); | 263 MethodData* method_data = asMethodData(metaspace_method_data); |
260 HotSpotMethodData::set_normalDataSize(hotspot_method_data, method_data->data_size()); | 264 HotSpotMethodData::set_normalDataSize(hotspot_method_data, method_data->data_size()); |
533 Klass* lca = this_klass->LCA(other_klass); | 537 Klass* lca = this_klass->LCA(other_klass); |
534 | 538 |
535 return JNIHandles::make_local(GraalCompiler::get_JavaType(lca, THREAD)()); | 539 return JNIHandles::make_local(GraalCompiler::get_JavaType(lca, THREAD)()); |
536 C2V_END | 540 C2V_END |
537 | 541 |
538 C2V_VMENTRY(jobject, getComponentType, (JNIEnv *, jobject, jobject klass)) | |
539 KlassHandle array_klass = java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass)); | |
540 if(array_klass->oop_is_typeArray()) { | |
541 BasicType t = TypeArrayKlass::cast(array_klass())->element_type(); | |
542 oop primitive_type = VMToCompiler::createPrimitiveJavaType((int) t, CHECK_NULL); | |
543 return JNIHandles::make_local(primitive_type); | |
544 } | |
545 assert(array_klass->oop_is_objArray(), "just checking"); | |
546 Klass* element_type = ObjArrayKlass::cast(array_klass())->element_klass(); | |
547 assert(JNIHandles::resolve(klass) != NULL, ""); | |
548 return JNIHandles::make_local(GraalCompiler::get_JavaType(element_type, THREAD)()); | |
549 C2V_END | |
550 | |
551 C2V_VMENTRY(jlong, getPrototypeMarkWord, (JNIEnv *, jobject, jobject klass)) | 542 C2V_VMENTRY(jlong, getPrototypeMarkWord, (JNIEnv *, jobject, jobject klass)) |
552 KlassHandle klass_handle(java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass))); | 543 KlassHandle klass_handle(java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass))); |
553 if (klass_handle->oop_is_array()) { | 544 if (klass_handle->oop_is_array()) { |
554 return (int32_t)(intptr_t) markOopDesc::prototype(); | 545 return (int32_t)(intptr_t) markOopDesc::prototype(); |
555 } else { | 546 } else { |
556 return (jlong) (intptr_t) klass_handle->prototype_header(); | 547 return (jlong) (intptr_t) klass_handle->prototype_header(); |
557 } | 548 } |
558 C2V_END | 549 C2V_END |
559 | 550 |
560 C2V_VMENTRY(jobject, getSuperType, (JNIEnv *, jobject, jlong metaspace_klass)) | |
561 KlassHandle klass_handle(asKlass(metaspace_klass)); | |
562 Klass* k; | |
563 | |
564 if (klass_handle->oop_is_array()) { | |
565 k = SystemDictionary::Object_klass(); | |
566 } else { | |
567 guarantee(klass_handle->oop_is_instance(), "must be instance klass"); | |
568 k = klass_handle->super(); | |
569 } | |
570 | |
571 if (k != NULL) { | |
572 return JNIHandles::make_local(GraalCompiler::get_JavaType(k, THREAD)()); | |
573 } else { | |
574 return NULL; | |
575 } | |
576 C2V_END | |
577 | |
578 C2V_VMENTRY(jobject, getUniqueConcreteSubtype, (JNIEnv *, jobject, jobject klass)) | 551 C2V_VMENTRY(jobject, getUniqueConcreteSubtype, (JNIEnv *, jobject, jobject klass)) |
579 KlassHandle klass_handle(java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass))); | 552 KlassHandle klass_handle(java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass))); |
580 Klass *up_cast = klass_handle->up_cast_abstract(); | 553 Klass *up_cast = klass_handle->up_cast_abstract(); |
581 if (!up_cast->is_interface() && up_cast->subklass() == NULL) { | 554 if (!up_cast->is_interface() && up_cast->subklass() == NULL) { |
582 return JNIHandles::make_local(GraalCompiler::get_JavaType(up_cast, THREAD)()); | 555 return JNIHandles::make_local(GraalCompiler::get_JavaType(up_cast, THREAD)()); |
592 | 565 |
593 C2V_VMENTRY(void, initializeType, (JNIEnv *, jobject, jobject hotspot_klass)) | 566 C2V_VMENTRY(void, initializeType, (JNIEnv *, jobject, jobject hotspot_klass)) |
594 Klass* klass = java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(hotspot_klass)); | 567 Klass* klass = java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(hotspot_klass)); |
595 assert(klass != NULL, "method must not be called for primitive types"); | 568 assert(klass != NULL, "method must not be called for primitive types"); |
596 InstanceKlass::cast(klass)->initialize(JavaThread::current()); | 569 InstanceKlass::cast(klass)->initialize(JavaThread::current()); |
597 C2V_END | |
598 | |
599 C2V_VMENTRY(jobject, getArrayOf, (JNIEnv *, jobject, jobject klass)) | |
600 KlassHandle klass_handle(java_lang_Class::as_Klass(HotSpotResolvedJavaType::javaMirror(klass))); | |
601 KlassHandle arr = klass_handle->array_klass(THREAD); | |
602 Handle name = VmIds::toString<Handle>(arr->name(), CHECK_NULL); | |
603 assert(arr->oop_is_array(), ""); | |
604 return JNIHandles::make_local(THREAD, GraalCompiler::createHotSpotResolvedJavaType(arr, name, THREAD)()); | |
605 C2V_END | 570 C2V_END |
606 | 571 |
607 C2V_VMENTRY(jobject, getInstanceFields, (JNIEnv *, jobject, jobject klass)) | 572 C2V_VMENTRY(jobject, getInstanceFields, (JNIEnv *, jobject, jobject klass)) |
608 ResourceMark rm; | 573 ResourceMark rm; |
609 | 574 |
625 field_array->obj_at_put(i, fields.at(i)()); | 590 field_array->obj_at_put(i, fields.at(i)()); |
626 } | 591 } |
627 return JNIHandles::make_local(field_array()); | 592 return JNIHandles::make_local(field_array()); |
628 C2V_END | 593 C2V_END |
629 | 594 |
630 C2V_VMENTRY(jobject, getPrimitiveArrayType, (JNIEnv *env, jobject, jobject kind)) | |
631 BasicType type = GraalCompiler::kindToBasicType(Kind::typeChar(kind)); | |
632 assert(type != T_OBJECT, "primitive type expecteds"); | |
633 Handle result = GraalCompiler::get_JavaType(Universe::typeArrayKlassObj(type), CHECK_NULL); | |
634 return JNIHandles::make_local(THREAD, result()); | |
635 C2V_END | |
636 | |
637 C2V_VMENTRY(jlong, getMaxCallTargetOffset, (JNIEnv *env, jobject, jlong stub)) | 595 C2V_VMENTRY(jlong, getMaxCallTargetOffset, (JNIEnv *env, jobject, jlong stub)) |
638 address target_addr = (address) stub; | 596 address target_addr = (address) stub; |
639 if (target_addr != 0x0) { | 597 if (target_addr != 0x0) { |
640 int64_t off_low = (int64_t)target_addr - ((int64_t)CodeCache::low_bound() + sizeof(int)); | 598 int64_t off_low = (int64_t)target_addr - ((int64_t)CodeCache::low_bound() + sizeof(int)); |
641 int64_t off_high = (int64_t)target_addr - ((int64_t)CodeCache::high_bound() + sizeof(int)); | 599 int64_t off_high = (int64_t)target_addr - ((int64_t)CodeCache::high_bound() + sizeof(int)); |
642 return MAX2(ABS(off_low), ABS(off_high)); | 600 return MAX2(ABS(off_low), ABS(off_high)); |
643 } | 601 } |
644 return -1; | 602 return -1; |
645 C2V_END | 603 C2V_END |
646 | 604 |
647 C2V_VMENTRY(jobject, getType, (JNIEnv *env, jobject, jobject javaClass)) | 605 C2V_VMENTRY(jobject, getResolvedType, (JNIEnv *env, jobject, jobject javaClass)) |
648 oop javaClassOop = JNIHandles::resolve(javaClass); | 606 oop java_mirror = JNIHandles::resolve(javaClass); |
649 if (javaClassOop == NULL) { | 607 assert(java_mirror != NULL, "argument to CompilerToVM.getResolvedType must not be NULL"); |
650 fatal("argument to CompilerToVM.getType must not be NULL"); | 608 Handle type = GraalCompiler::get_JavaTypeFromClass(java_mirror, CHECK_NULL); |
651 return NULL; | |
652 } | |
653 Handle type = GraalCompiler::get_JavaTypeFromClass(javaClassOop, CHECK_NULL); | |
654 return JNIHandles::make_local(THREAD, type()); | 609 return JNIHandles::make_local(THREAD, type()); |
655 C2V_END | 610 C2V_END |
656 | 611 |
657 | 612 |
658 // helpers used to set fields in the HotSpotVMConfig object | 613 // helpers used to set fields in the HotSpotVMConfig object |
971 | 926 |
972 | 927 |
973 #define CC (char*) /*cast a literal from (const char*)*/ | 928 #define CC (char*) /*cast a literal from (const char*)*/ |
974 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &(c2v_ ## f)) | 929 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &(c2v_ ## f)) |
975 | 930 |
931 #define RESOLVED_TYPE "Lcom/oracle/graal/api/meta/ResolvedJavaType;" | |
976 #define TYPE "Lcom/oracle/graal/api/meta/JavaType;" | 932 #define TYPE "Lcom/oracle/graal/api/meta/JavaType;" |
977 #define RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaType;" | |
978 #define METHOD "Lcom/oracle/graal/api/meta/JavaMethod;" | 933 #define METHOD "Lcom/oracle/graal/api/meta/JavaMethod;" |
979 #define RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" | 934 #define FIELD "Lcom/oracle/graal/api/meta/JavaField;" |
935 #define SIGNATURE "Lcom/oracle/graal/api/meta/Signature;" | |
936 #define CONSTANT_POOL "Lcom/oracle/graal/api/meta/ConstantPool;" | |
937 #define CONSTANT "Lcom/oracle/graal/api/meta/Constant;" | |
938 #define KIND "Lcom/oracle/graal/api/meta/Kind;" | |
939 #define RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;" | |
940 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;" | |
980 #define REFLECT_METHOD "Ljava/lang/reflect/Method;" | 941 #define REFLECT_METHOD "Ljava/lang/reflect/Method;" |
981 #define SIGNATURE "Lcom/oracle/graal/api/meta/Signature;" | |
982 #define FIELD "Lcom/oracle/graal/api/meta/JavaField;" | |
983 #define RESOLVED_FIELD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaField;" | |
984 #define REFLECT_FIELD "Ljava/lang/reflect/Field;" | 942 #define REFLECT_FIELD "Ljava/lang/reflect/Field;" |
985 #define CONSTANT_POOL "Lcom/oracle/graal/api/meta/ConstantPool;" | 943 #define STRING "Ljava/lang/String;" |
986 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;" | 944 #define OBJECT "Ljava/lang/Object;" |
945 #define CLASS "Ljava/lang/Class;" | |
946 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" | |
947 #define HS_RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaType;" | |
948 #define HS_RESOLVED_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod;" | |
949 #define HS_RESOLVED_FIELD "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedJavaField;" | |
987 #define HS_COMP_RESULT "Lcom/oracle/graal/hotspot/HotSpotCompilationResult;" | 950 #define HS_COMP_RESULT "Lcom/oracle/graal/hotspot/HotSpotCompilationResult;" |
988 #define CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" | 951 #define HS_CONFIG "Lcom/oracle/graal/hotspot/HotSpotVMConfig;" |
989 #define HS_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotMethod;" | 952 #define HS_METHOD "Lcom/oracle/graal/hotspot/meta/HotSpotMethod;" |
990 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" | 953 #define HS_INSTALLED_CODE "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;" |
991 #define HS_CODE_INFO "Lcom/oracle/graal/hotspot/meta/HotSpotCodeInfo;" | 954 #define HS_CODE_INFO "Lcom/oracle/graal/hotspot/meta/HotSpotCodeInfo;" |
992 #define METHOD_DATA "Lcom/oracle/graal/hotspot/meta/HotSpotMethodData;" | 955 #define METHOD_DATA "Lcom/oracle/graal/hotspot/meta/HotSpotMethodData;" |
993 #define CONSTANT "Lcom/oracle/graal/api/meta/Constant;" | |
994 #define KIND "Lcom/oracle/graal/api/meta/Kind;" | |
995 #define RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;" | |
996 #define STRING "Ljava/lang/String;" | |
997 #define OBJECT "Ljava/lang/Object;" | |
998 #define CLASS "Ljava/lang/Class;" | |
999 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" | |
1000 #define METASPACE_METHOD "J" | 956 #define METASPACE_METHOD "J" |
1001 #define METASPACE_METHOD_DATA "J" | 957 #define METASPACE_METHOD_DATA "J" |
1002 #define NMETHOD "J" | 958 #define NMETHOD "J" |
1003 | 959 |
1004 JNINativeMethod CompilerToVM_methods[] = { | 960 JNINativeMethod CompilerToVM_methods[] = { |
1005 {CC"initializeBytecode", CC"("METASPACE_METHOD"[B)[B", FN_PTR(initializeBytecode)}, | 961 {CC"initializeBytecode", CC"("METASPACE_METHOD"[B)[B", FN_PTR(initializeBytecode)}, |
1006 {CC"getSignature", CC"("METASPACE_METHOD")"STRING, FN_PTR(getSignature)}, | 962 {CC"getSignature", CC"("METASPACE_METHOD")"STRING, FN_PTR(getSignature)}, |
1007 {CC"initializeExceptionHandlers", CC"("METASPACE_METHOD EXCEPTION_HANDLERS")"EXCEPTION_HANDLERS, FN_PTR(initializeExceptionHandlers)}, | 963 {CC"initializeExceptionHandlers", CC"("METASPACE_METHOD EXCEPTION_HANDLERS")"EXCEPTION_HANDLERS, FN_PTR(initializeExceptionHandlers)}, |
1008 {CC"hasBalancedMonitors", CC"("METASPACE_METHOD")Z", FN_PTR(hasBalancedMonitors)}, | 964 {CC"hasBalancedMonitors", CC"("METASPACE_METHOD")Z", FN_PTR(hasBalancedMonitors)}, |
1009 {CC"getUniqueConcreteMethod", CC"("METASPACE_METHOD"["RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getUniqueConcreteMethod)}, | 965 {CC"getUniqueConcreteMethod", CC"("METASPACE_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getUniqueConcreteMethod)}, |
1010 {CC"getStackTraceElement", CC"("METASPACE_METHOD"I)"STACK_TRACE_ELEMENT, FN_PTR(getStackTraceElement)}, | 966 {CC"getStackTraceElement", CC"("METASPACE_METHOD"I)"STACK_TRACE_ELEMENT, FN_PTR(getStackTraceElement)}, |
1011 {CC"initializeMethod", CC"("METASPACE_METHOD RESOLVED_METHOD")V", FN_PTR(initializeMethod)}, | 967 {CC"initializeMethod", CC"("METASPACE_METHOD HS_RESOLVED_METHOD")V", FN_PTR(initializeMethod)}, |
1012 {CC"initializeMethodData", CC"("METASPACE_METHOD_DATA METHOD_DATA")V", FN_PTR(initializeMethodData)}, | 968 {CC"initializeMethodData", CC"("METASPACE_METHOD_DATA METHOD_DATA")V", FN_PTR(initializeMethodData)}, |
1013 {CC"getInvocationCount", CC"("METASPACE_METHOD")I", FN_PTR(getInvocationCount)}, | 969 {CC"isMethodCompilable", CC"("METASPACE_METHOD")Z", FN_PTR(isMethodCompilable)}, |
1014 {CC"getCompiledCodeSize", CC"("METASPACE_METHOD")I", FN_PTR(getCompiledCodeSize)}, | 970 {CC"getInvocationCount", CC"("METASPACE_METHOD")I", FN_PTR(getInvocationCount)}, |
1015 {CC"getVtableEntryOffset", CC"("METASPACE_METHOD")I", FN_PTR(getVtableEntryOffset)}, | 971 {CC"getCompiledCodeSize", CC"("METASPACE_METHOD")I", FN_PTR(getCompiledCodeSize)}, |
1016 {CC"lookupType", CC"("STRING RESOLVED_TYPE"Z)"TYPE, FN_PTR(lookupType)}, | 972 {CC"getVtableEntryOffset", CC"("METASPACE_METHOD")I", FN_PTR(getVtableEntryOffset)}, |
1017 {CC"lookupConstantInPool", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(lookupConstantInPool)}, | 973 {CC"lookupType", CC"("STRING HS_RESOLVED_TYPE"Z)"TYPE, FN_PTR(lookupType)}, |
1018 {CC"lookupMethodInPool", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(lookupMethodInPool)}, | 974 {CC"lookupConstantInPool", CC"("HS_RESOLVED_TYPE"I)"OBJECT, FN_PTR(lookupConstantInPool)}, |
1019 {CC"lookupTypeInPool", CC"("RESOLVED_TYPE"I)"TYPE, FN_PTR(lookupTypeInPool)}, | 975 {CC"lookupMethodInPool", CC"("HS_RESOLVED_TYPE"IB)"METHOD, FN_PTR(lookupMethodInPool)}, |
1020 {CC"lookupReferencedTypeInPool", CC"("RESOLVED_TYPE"IB)V", FN_PTR(lookupReferencedTypeInPool)}, | 976 {CC"lookupTypeInPool", CC"("HS_RESOLVED_TYPE"I)"TYPE, FN_PTR(lookupTypeInPool)}, |
1021 {CC"lookupFieldInPool", CC"("RESOLVED_TYPE"IB)"FIELD, FN_PTR(lookupFieldInPool)}, | 977 {CC"lookupReferencedTypeInPool", CC"("HS_RESOLVED_TYPE"IB)V", FN_PTR(lookupReferencedTypeInPool)}, |
1022 {CC"resolveMethod", CC"("RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(resolveMethod)}, | 978 {CC"lookupFieldInPool", CC"("HS_RESOLVED_TYPE"IB)"FIELD, FN_PTR(lookupFieldInPool)}, |
1023 {CC"isSubtypeOf", CC"("RESOLVED_TYPE TYPE")Z", FN_PTR(isSubtypeOf)}, | 979 {CC"resolveMethod", CC"("HS_RESOLVED_TYPE STRING STRING")"METHOD, FN_PTR(resolveMethod)}, |
1024 {CC"getLeastCommonAncestor", CC"("RESOLVED_TYPE RESOLVED_TYPE")"TYPE, FN_PTR(getLeastCommonAncestor)}, | 980 {CC"isSubtypeOf", CC"("HS_RESOLVED_TYPE TYPE")Z", FN_PTR(isSubtypeOf)}, |
1025 {CC"getComponentType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(getComponentType)}, | 981 {CC"getLeastCommonAncestor", CC"("HS_RESOLVED_TYPE HS_RESOLVED_TYPE")"TYPE, FN_PTR(getLeastCommonAncestor)}, |
1026 {CC"getUniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(getUniqueConcreteSubtype)}, | 982 {CC"getUniqueConcreteSubtype", CC"("HS_RESOLVED_TYPE")"TYPE, FN_PTR(getUniqueConcreteSubtype)}, |
1027 {CC"getSuperType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(getSuperType)}, | 983 {CC"getPrototypeMarkWord", CC"("HS_RESOLVED_TYPE")J", FN_PTR(getPrototypeMarkWord)}, |
1028 {CC"getPrototypeMarkWord", CC"("RESOLVED_TYPE")J", FN_PTR(getPrototypeMarkWord)}, | 984 {CC"getInstanceFields", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_FIELD, FN_PTR(getInstanceFields)}, |
1029 {CC"getArrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(getArrayOf)}, | 985 {CC"isTypeInitialized", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(isTypeInitialized)}, |
1030 {CC"getInstanceFields", CC"("RESOLVED_TYPE")["RESOLVED_FIELD, FN_PTR(getInstanceFields)}, | 986 {CC"initializeType", CC"("HS_RESOLVED_TYPE")V", FN_PTR(initializeType)}, |
1031 {CC"isTypeInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(isTypeInitialized)}, | 987 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, |
1032 {CC"initializeType", CC"("RESOLVED_TYPE")V", FN_PTR(initializeType)}, | 988 {CC"getResolvedType", CC"("CLASS")"RESOLVED_TYPE, FN_PTR(getResolvedType)}, |
1033 {CC"getPrimitiveArrayType", CC"("KIND")"TYPE, FN_PTR(getPrimitiveArrayType)}, | 989 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, |
1034 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, | 990 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)}, |
1035 {CC"getType", CC"("CLASS")"TYPE, FN_PTR(getType)}, | 991 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, |
1036 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, | |
1037 {CC"getJavaField", CC"("REFLECT_FIELD")"RESOLVED_FIELD, FN_PTR(getJavaField)}, | |
1038 {CC"initializeConfiguration", CC"("CONFIG")V", FN_PTR(initializeConfiguration)}, | |
1039 {CC"installCode", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO")"HS_INSTALLED_CODE, FN_PTR(installCode)}, | 992 {CC"installCode", CC"("HS_COMP_RESULT HS_INSTALLED_CODE HS_CODE_INFO")"HS_INSTALLED_CODE, FN_PTR(installCode)}, |
1040 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, | 993 {CC"disassembleNative", CC"([BJ)"STRING, FN_PTR(disassembleNative)}, |
1041 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, | 994 {CC"executeCompiledMethod", CC"("METASPACE_METHOD NMETHOD OBJECT OBJECT OBJECT")"OBJECT, FN_PTR(executeCompiledMethod)}, |
1042 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, | 995 {CC"executeCompiledMethodVarargs", CC"("METASPACE_METHOD NMETHOD "["OBJECT")"OBJECT, FN_PTR(executeCompiledMethodVarargs)}, |
1043 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, | 996 {CC"getDeoptedLeafGraphIds", CC"()[J", FN_PTR(getDeoptedLeafGraphIds)}, |
1044 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)}, | 997 {CC"decodePC", CC"(J)"STRING, FN_PTR(decodePC)}, |
1045 }; | 998 }; |
1046 | 999 |
1047 int CompilerToVM_methods_count() { | 1000 int CompilerToVM_methods_count() { |
1048 return sizeof(CompilerToVM_methods) / sizeof(JNINativeMethod); | 1001 return sizeof(CompilerToVM_methods) / sizeof(JNINativeMethod); |
1049 } | 1002 } |