# HG changeset patch # User Thomas Wuerthinger # Date 1322258947 -3600 # Node ID 713131edb43539e09dab781b9188e2a9e2a6ecf8 # Parent b5c649e4e700a755bf89f0fac37d7d8773824c60 Return a RiResolvedField array when looking up the fields of a class. diff -r b5c649e4e700 -r 713131edb435 src/share/vm/classfile/systemDictionary.hpp --- a/src/share/vm/classfile/systemDictionary.hpp Thu Nov 24 17:45:38 2011 +0100 +++ b/src/share/vm/classfile/systemDictionary.hpp Fri Nov 25 23:09:07 2011 +0100 @@ -216,7 +216,7 @@ template(CiRuntimeCall_klass, com_sun_cri_ci_CiRuntimeCall, Opt) \ template(RiMethod_klass, com_sun_cri_ri_RiMethod, Opt) \ template(RiType_klass, com_sun_cri_ri_RiType, Opt) \ - template(RiField_klass, com_sun_cri_ri_RiField, Opt) \ + template(RiResolvedField_klass, com_sun_cri_ri_RiResolvedField, Opt) \ template(RiExceptionHandler_klass, com_sun_cri_ri_RiExceptionHandler, Opt) \ template(RiTypeProfile_klass, com_sun_cri_ri_RiTypeProfile, Opt) \ diff -r b5c649e4e700 -r 713131edb435 src/share/vm/classfile/vmSymbols.hpp --- a/src/share/vm/classfile/vmSymbols.hpp Thu Nov 24 17:45:38 2011 +0100 +++ b/src/share/vm/classfile/vmSymbols.hpp Fri Nov 25 23:09:07 2011 +0100 @@ -273,7 +273,7 @@ template(com_sun_hotspot_graal_Compiler, "com/oracle/max/graal/hotspot/Compiler") \ template(com_sun_hotspot_graal_CompilerImpl, "com/oracle/max/graal/hotspot/CompilerImpl") \ template(com_sun_cri_ri_RiMethod, "com/sun/cri/ri/RiMethod") \ - template(com_sun_cri_ri_RiField, "com/sun/cri/ri/RiField") \ + template(com_sun_cri_ri_RiResolvedField, "com/sun/cri/ri/RiResolvedField") \ template(com_sun_cri_ri_RiType, "com/sun/cri/ri/RiType") \ template(com_sun_cri_ri_RiTypeProfile, "com/sun/cri/ri/RiTypeProfile") \ template(com_sun_cri_ri_RiConstantPool, "com/sun/cri/ri/RiConstantPool") \ diff -r b5c649e4e700 -r 713131edb435 src/share/vm/graal/graalVMEntries.cpp --- a/src/share/vm/graal/graalVMEntries.cpp Thu Nov 24 17:45:38 2011 +0100 +++ b/src/share/vm/graal/graalVMEntries.cpp Fri Nov 25 23:09:07 2011 +0100 @@ -740,7 +740,7 @@ return JNIHandles::make_local(THREAD, GraalCompiler::createHotSpotTypeResolved(arr, name, THREAD)()); } -// public RiField[] RiType_fields(HotSpotTypeResolved klass); +// public RiResolvedField[] RiType_fields(HotSpotTypeResolved klass); JNIEXPORT jobject JNICALL Java_com_oracle_graal_hotspot_VMEntries_RiType_1fields(JNIEnv *, jobject, jobject klass) { TRACE_graal_3("VMEntries::RiType_fields"); VM_ENTRY_MARK; @@ -767,7 +767,7 @@ }; MyFieldClosure closure(k, JNIHandles::resolve(klass)); k->do_nonstatic_fields(&closure); - objArrayHandle field_array = oopFactory::new_objArray(SystemDictionary::RiField_klass(), closure._field_array.length(), CHECK_NULL); + objArrayHandle field_array = oopFactory::new_objArray(SystemDictionary::RiResolvedField_klass(), closure._field_array.length(), CHECK_NULL); for (int i=0; iobj_at_put(i, closure._field_array.at(i)()); } @@ -1005,6 +1005,7 @@ #define TYPE_PROFILE "Lcom/sun/cri/ri/RiTypeProfile;" #define SIGNATURE "Lcom/sun/cri/ri/RiSignature;" #define FIELD "Lcom/sun/cri/ri/RiField;" +#define RESOLVED_FIELD "Lcom/sun/cri/ri/RiResolvedField;" #define CONSTANT_POOL "Lcom/sun/cri/ri/RiConstantPool;" #define EXCEPTION_HANDLERS "[Lcom/sun/cri/ri/RiExceptionHandler;" #define TARGET_METHOD "Lcom/oracle/max/graal/hotspot/HotSpotTargetMethod;" @@ -1043,7 +1044,7 @@ {CC"RiType_uniqueConcreteSubtype", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1uniqueConcreteSubtype)}, {CC"RiType_superType", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1superType)}, {CC"RiType_arrayOf", CC"("RESOLVED_TYPE")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1arrayOf)}, - {CC"RiType_fields", CC"("RESOLVED_TYPE")["FIELD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1fields)}, + {CC"RiType_fields", CC"("RESOLVED_TYPE")["RESOLVED_FIELD, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1fields)}, {CC"RiType_isInitialized", CC"("RESOLVED_TYPE")Z", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_RiType_1isInitialized)}, {CC"getPrimitiveArrayType", CC"("CI_KIND")"TYPE, FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getPrimitiveArrayType)}, {CC"getMaxCallTargetOffset", CC"("CI_RUNTIME_CALL")J", FN_PTR(Java_com_oracle_graal_hotspot_VMEntries_getMaxCallTargetOffset)},