comparison src/share/vm/graal/graalCompilerToVM.cpp @ 13263:81055aacb98d

removed CompilerToVM.getJavaField
author twisti
date Sun, 08 Dec 2013 18:06:28 -0800
parents 0ffe9e4bb364
children b23cbfb4366a
comparison
equal deleted inserted replaced
13262:f13f6dc290c8 13263:81055aacb98d
216 Handle type = GraalCompiler::createHotSpotResolvedObjectType(method, CHECK_0); 216 Handle type = GraalCompiler::createHotSpotResolvedObjectType(method, CHECK_0);
217 objArrayOop(JNIHandles::resolve(resultHolder))->obj_at_put(0, type()); 217 objArrayOop(JNIHandles::resolve(resultHolder))->obj_at_put(0, type());
218 return (jlong) (address) method(); 218 return (jlong) (address) method();
219 } 219 }
220 220
221 C2V_VMENTRY(jobject, getJavaField, (JNIEnv *, jobject, jobject reflection_field_handle))
222 oop reflection_field = JNIHandles::resolve(reflection_field_handle);
223 oop reflection_holder = java_lang_reflect_Field::clazz(reflection_field);
224 int slot = java_lang_reflect_Field::slot(reflection_field);
225 InstanceKlass* holder = InstanceKlass::cast(java_lang_Class::as_Klass(reflection_holder));
226
227 int offset = holder->field_offset(slot);
228 int flags = holder->field_access_flags(slot);
229 Symbol* field_name = holder->field_name(slot);
230 Handle field_holder = GraalCompiler::get_JavaTypeFromClass(reflection_holder, CHECK_NULL);
231 Handle field_type = GraalCompiler::get_JavaTypeFromClass(java_lang_reflect_Field::type(reflection_field), CHECK_NULL);
232
233 Handle ret = GraalCompiler::get_JavaField(offset, flags, field_name, field_holder, field_type, CHECK_NULL);
234 return JNIHandles::make_local(THREAD, ret());
235 }
236
237 C2V_VMENTRY(jlong, getUniqueConcreteMethod, (JNIEnv *, jobject, jlong metaspace_method, jobject resultHolder)) 221 C2V_VMENTRY(jlong, getUniqueConcreteMethod, (JNIEnv *, jobject, jlong metaspace_method, jobject resultHolder))
238 methodHandle method = asMethod(metaspace_method); 222 methodHandle method = asMethod(metaspace_method);
239 KlassHandle holder = method->method_holder(); 223 KlassHandle holder = method->method_holder();
240 if (holder->is_interface()) { 224 if (holder->is_interface()) {
241 // Cannot trust interfaces. Because of: 225 // Cannot trust interfaces. Because of:
963 #define LOCAL "Lcom/oracle/graal/api/meta/Local;" 947 #define LOCAL "Lcom/oracle/graal/api/meta/Local;"
964 #define RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;" 948 #define RUNTIME_CALL "Lcom/oracle/graal/api/code/RuntimeCall;"
965 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;" 949 #define EXCEPTION_HANDLERS "[Lcom/oracle/graal/api/meta/ExceptionHandler;"
966 #define REFLECT_METHOD "Ljava/lang/reflect/Method;" 950 #define REFLECT_METHOD "Ljava/lang/reflect/Method;"
967 #define REFLECT_CONSTRUCTOR "Ljava/lang/reflect/Constructor;" 951 #define REFLECT_CONSTRUCTOR "Ljava/lang/reflect/Constructor;"
968 #define REFLECT_FIELD "Ljava/lang/reflect/Field;"
969 #define STRING "Ljava/lang/String;" 952 #define STRING "Ljava/lang/String;"
970 #define OBJECT "Ljava/lang/Object;" 953 #define OBJECT "Ljava/lang/Object;"
971 #define CLASS "Ljava/lang/Class;" 954 #define CLASS "Ljava/lang/Class;"
972 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;" 955 #define STACK_TRACE_ELEMENT "Ljava/lang/StackTraceElement;"
973 #define HS_RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedObjectType;" 956 #define HS_RESOLVED_TYPE "Lcom/oracle/graal/hotspot/meta/HotSpotResolvedObjectType;"
1003 {CC"getMethods", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_METHOD, FN_PTR(getMethods)}, 986 {CC"getMethods", CC"("HS_RESOLVED_TYPE")["HS_RESOLVED_METHOD, FN_PTR(getMethods)},
1004 {CC"hasFinalizableSubclass", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(hasFinalizableSubclass)}, 987 {CC"hasFinalizableSubclass", CC"("HS_RESOLVED_TYPE")Z", FN_PTR(hasFinalizableSubclass)},
1005 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, 988 {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)},
1006 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)}, 989 {CC"getMetaspaceMethod", CC"("REFLECT_METHOD"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceMethod)},
1007 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)}, 990 {CC"getMetaspaceConstructor", CC"("REFLECT_CONSTRUCTOR"["HS_RESOLVED_TYPE")"METASPACE_METHOD, FN_PTR(getMetaspaceConstructor)},
1008 {CC"getJavaField", CC"("REFLECT_FIELD")"HS_RESOLVED_FIELD, FN_PTR(getJavaField)},
1009 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)}, 991 {CC"initializeConfiguration", CC"("HS_CONFIG")V", FN_PTR(initializeConfiguration)},
1010 {CC"installCode0", CC"("HS_COMPILED_CODE HS_INSTALLED_CODE"[Z)I", FN_PTR(installCode0)}, 992 {CC"installCode0", CC"("HS_COMPILED_CODE HS_INSTALLED_CODE"[Z)I", FN_PTR(installCode0)},
1011 {CC"notifyCompilationStatistics", CC"(I"HS_RESOLVED_METHOD"ZIJJ"HS_INSTALLED_CODE")V", FN_PTR(notifyCompilationStatistics)}, 993 {CC"notifyCompilationStatistics", CC"(I"HS_RESOLVED_METHOD"ZIJJ"HS_INSTALLED_CODE")V", FN_PTR(notifyCompilationStatistics)},
1012 {CC"resetCompilationStatistics", CC"()V", FN_PTR(resetCompilationStatistics)}, 994 {CC"resetCompilationStatistics", CC"()V", FN_PTR(resetCompilationStatistics)},
1013 {CC"disassembleCodeBlob", CC"(J)"STRING, FN_PTR(disassembleCodeBlob)}, 995 {CC"disassembleCodeBlob", CC"(J)"STRING, FN_PTR(disassembleCodeBlob)},