comparison src/share/vm/graal/graalCompilerToVM.cpp @ 4446:48756b901156

bugfixes
author Christian Haeubl <christian.haeubl@oracle.com>
date Tue, 24 Jan 2012 13:25:16 -0800
parents 7d9469b37f1f
children 539fca6a3b98
comparison
equal deleted inserted replaced
4445:e2a477f9791b 4446:48756b901156
42 42
43 methodOop getMethodFromHotSpotMethod(oop hotspot_method) { 43 methodOop getMethodFromHotSpotMethod(oop hotspot_method) {
44 return (methodOop)HotSpotMethodResolved::javaMirror(hotspot_method); 44 return (methodOop)HotSpotMethodResolved::javaMirror(hotspot_method);
45 } 45 }
46 46
47 methodDataOop getMethodDataFromHotSpotMethodData(jobject hotspot_method_data) {
48 return (methodDataOop)HotSpotMethodData::hotspotMirror(JNIHandles::resolve(hotspot_method_data));
49 }
50
47 // public byte[] RiMethod_code(HotSpotResolvedMethod method); 51 // public byte[] RiMethod_code(HotSpotResolvedMethod method);
48 JNIEXPORT jbyteArray JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) { 52 JNIEXPORT jbyteArray JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) {
49 TRACE_graal_3("CompilerToVM::RiMethod_code"); 53 TRACE_graal_3("CompilerToVM::RiMethod_code");
50 methodHandle method = getMethodFromHotSpotMethod(hotspot_method); 54 methodHandle method = getMethodFromHotSpotMethod(hotspot_method);
51 int code_size = method->code_size(); 55 int code_size = method->code_size();
190 methodDataHandle method_data = getMethodFromHotSpotMethod(hotspot_method)->method_data(); 194 methodDataHandle method_data = getMethodFromHotSpotMethod(hotspot_method)->method_data();
191 if(method_data.is_null()) { 195 if(method_data.is_null()) {
192 return NULL; 196 return NULL;
193 } else { 197 } else {
194 Handle graalMethodData = GraalCompiler::createHotSpotMethodData(method_data, THREAD); 198 Handle graalMethodData = GraalCompiler::createHotSpotMethodData(method_data, THREAD);
195 tty->print_cr("--------");
196 method_data->print_on(tty);
197 tty->print_cr("--------");
198 return JNIHandles::make_local(THREAD, graalMethodData()); 199 return JNIHandles::make_local(THREAD, graalMethodData());
199 } 200 }
201 }
202
203 JNIEXPORT jboolean JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_HotSpotMethodData_1isMature(JNIEnv *, jobject, jobject hotspot_method_data) {
204 TRACE_graal_3("CompilerToVM::HotSpotMethodData_isMature");
205 VM_ENTRY_MARK;
206 methodDataHandle method_data = getMethodDataFromHotSpotMethodData(hotspot_method_data);
207 return method_data->is_mature();
200 } 208 }
201 209
202 // ------------------------------------------------------------------ 210 // ------------------------------------------------------------------
203 // Adjust a CounterData count to be commensurate with 211 // Adjust a CounterData count to be commensurate with
204 // interpreter_invocation_count. If the MDO exists for 212 // interpreter_invocation_count. If the MDO exists for
920 {CC"RiMethod_exceptionHandlers", CC"("RESOLVED_METHOD")"EXCEPTION_HANDLERS, FN_PTR(RiMethod_1exceptionHandlers)}, 928 {CC"RiMethod_exceptionHandlers", CC"("RESOLVED_METHOD")"EXCEPTION_HANDLERS, FN_PTR(RiMethod_1exceptionHandlers)},
921 {CC"RiMethod_hasBalancedMonitors", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasBalancedMonitors)}, 929 {CC"RiMethod_hasBalancedMonitors", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasBalancedMonitors)},
922 {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(RiMethod_1uniqueConcreteMethod)}, 930 {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(RiMethod_1uniqueConcreteMethod)},
923 {CC"getRiMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(getRiMethod)}, 931 {CC"getRiMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(getRiMethod)},
924 {CC"RiMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(RiMethod_1methodData)}, 932 {CC"RiMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(RiMethod_1methodData)},
933 {CC"HotSpotMethodData_isMature", CC"("METHOD_DATA")Z", FN_PTR(HotSpotMethodData_1isMature)},
925 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1invocationCount)}, 934 {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1invocationCount)},
926 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasCompiledCode)}, 935 {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasCompiledCode)},
927 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(RiSignature_1lookupType)}, 936 {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(RiSignature_1lookupType)},
928 {CC"RiConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(RiConstantPool_1lookupConstant)}, 937 {CC"RiConstantPool_lookupConstant", CC"("RESOLVED_TYPE"I)"OBJECT, FN_PTR(RiConstantPool_1lookupConstant)},
929 {CC"RiConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(RiConstantPool_1lookupMethod)}, 938 {CC"RiConstantPool_lookupMethod", CC"("RESOLVED_TYPE"IB)"METHOD, FN_PTR(RiConstantPool_1lookupMethod)},