Mercurial > hg > truffle
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)}, |