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)},