Mercurial > hg > truffle
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 4531:3a309467fc8e
Merge
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Wed, 08 Feb 2012 21:15:00 -0800 |
parents | e6e14d25e608 14a00ee82980 |
children | 6dda62bf5be4 |
comparison
equal
deleted
inserted
replaced
4530:6c6cb7be1324 | 4531:3a309467fc8e |
---|---|
245 nmethod* code = getMethodFromHotSpotMethod(hotspot_method)->code(); | 245 nmethod* code = getMethodFromHotSpotMethod(hotspot_method)->code(); |
246 return code == NULL ? 0 : code->insts_size(); | 246 return code == NULL ? 0 : code->insts_size(); |
247 } | 247 } |
248 | 248 |
249 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); | 249 // public RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); |
250 JNIEXPORT jobject JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass) { | 250 JNIEXPORT jobject JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_RiSignature_1lookupType(JNIEnv *env, jobject, jstring jname, jobject accessingClass, jboolean eagerResolve) { |
251 TRACE_graal_3("CompilerToVM::RiSignature_lookupType"); | 251 TRACE_graal_3("CompilerToVM::RiSignature_lookupType"); |
252 VM_ENTRY_MARK; | 252 VM_ENTRY_MARK; |
253 ResourceMark rm; | 253 ResourceMark rm; |
254 | 254 |
255 Symbol* nameSymbol = VmIds::toSymbol(jname); | 255 Symbol* nameSymbol = VmIds::toSymbol(jname); |
280 Handle protectionDomain; | 280 Handle protectionDomain; |
281 if (JNIHandles::resolve(accessingClass) != NULL) { | 281 if (JNIHandles::resolve(accessingClass) != NULL) { |
282 classloader = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(accessingClass))->klass_part()->class_loader(); | 282 classloader = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(accessingClass))->klass_part()->class_loader(); |
283 protectionDomain = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(accessingClass))->klass_part()->protection_domain(); | 283 protectionDomain = java_lang_Class::as_klassOop(HotSpotTypeResolved::javaMirror(accessingClass))->klass_part()->protection_domain(); |
284 } | 284 } |
285 resolved_type = SystemDictionary::resolve_or_null(nameSymbol, classloader, protectionDomain, THREAD); | 285 if (eagerResolve) { |
286 resolved_type = SystemDictionary::resolve_or_null(nameSymbol, classloader, protectionDomain, THREAD); | |
287 } else { | |
288 resolved_type = SystemDictionary::find(nameSymbol, classloader, protectionDomain, THREAD); | |
289 } | |
286 if (HAS_PENDING_EXCEPTION) { | 290 if (HAS_PENDING_EXCEPTION) { |
287 CLEAR_PENDING_EXCEPTION; | 291 CLEAR_PENDING_EXCEPTION; |
288 resolved_type = NULL; | 292 resolved_type = NULL; |
289 } | 293 } |
290 } | 294 } |
941 {CC"RiMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(RiMethod_1methodData)}, | 945 {CC"RiMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(RiMethod_1methodData)}, |
942 {CC"HotSpotMethodData_isMature", CC"("METHOD_DATA")Z", FN_PTR(HotSpotMethodData_1isMature)}, | 946 {CC"HotSpotMethodData_isMature", CC"("METHOD_DATA")Z", FN_PTR(HotSpotMethodData_1isMature)}, |
943 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1invocationCount)}, | 947 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1invocationCount)}, |
944 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasCompiledCode)}, | 948 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasCompiledCode)}, |
945 {CC"RiMethod_getCompiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1getCompiledCodeSize)}, | 949 {CC"RiMethod_getCompiledCodeSize", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1getCompiledCodeSize)}, |
946 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(RiSignature_1lookupType)}, | 950 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE"Z)"TYPE, FN_PTR(RiSignature_1lookupType)}, |
947 {CC"RiConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(RiConstantPool_1lookupConstant)}, | 951 {CC"RiConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(RiConstantPool_1lookupConstant)}, |
948 {CC"RiConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(RiConstantPool_1lookupMethod)}, | 952 {CC"RiConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(RiConstantPool_1lookupMethod)}, |
949 {CC"RiConstantPool_lookupType", CC"("RESOLVED_TYPE"I)"TYPE, FN_PTR(RiConstantPool_1lookupType)}, | 953 {CC"RiConstantPool_lookupType", CC"("RESOLVED_TYPE"I)"TYPE, FN_PTR(RiConstantPool_1lookupType)}, |
950 {CC"RiConstantPool_loadReferencedType", CC"("RESOLVED_TYPE"IB)V", FN_PTR(RiConstantPool_1loadReferencedType)}, | 954 {CC"RiConstantPool_loadReferencedType", CC"("RESOLVED_TYPE"IB)V", FN_PTR(RiConstantPool_1loadReferencedType)}, |
951 {CC"RiConstantPool_lookupField", CC"("RESOLVED_TYPE"IB)"FIELD, FN_PTR(RiConstantPool_1lookupField)}, | 955 {CC"RiConstantPool_lookupField", CC"("RESOLVED_TYPE"IB)"FIELD, FN_PTR(RiConstantPool_1lookupField)}, |