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