Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp Tue Jan 24 23:47:20 2012 -0800 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Tue Jan 24 13:25:16 2012 -0800 @@ -44,6 +44,10 @@ return (methodOop)HotSpotMethodResolved::javaMirror(hotspot_method); } +methodDataOop getMethodDataFromHotSpotMethodData(jobject hotspot_method_data) { + return (methodDataOop)HotSpotMethodData::hotspotMirror(JNIHandles::resolve(hotspot_method_data)); +} + // public byte[] RiMethod_code(HotSpotResolvedMethod method); JNIEXPORT jbyteArray JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_RiMethod_1code(JNIEnv *env, jobject, jobject hotspot_method) { TRACE_graal_3("CompilerToVM::RiMethod_code"); @@ -192,13 +196,17 @@ return NULL; } else { Handle graalMethodData = GraalCompiler::createHotSpotMethodData(method_data, THREAD); - tty->print_cr("--------"); - method_data->print_on(tty); - tty->print_cr("--------"); return JNIHandles::make_local(THREAD, graalMethodData()); } } +JNIEXPORT jboolean JNICALL Java_com_oracle_max_graal_hotspot_bridge_CompilerToVMImpl_HotSpotMethodData_1isMature(JNIEnv *, jobject, jobject hotspot_method_data) { + TRACE_graal_3("CompilerToVM::HotSpotMethodData_isMature"); + VM_ENTRY_MARK; + methodDataHandle method_data = getMethodDataFromHotSpotMethodData(hotspot_method_data); + return method_data->is_mature(); +} + // ------------------------------------------------------------------ // Adjust a CounterData count to be commensurate with // interpreter_invocation_count. If the MDO exists for @@ -922,6 +930,7 @@ {CC"RiMethod_uniqueConcreteMethod", CC"("RESOLVED_METHOD")"METHOD, FN_PTR(RiMethod_1uniqueConcreteMethod)}, {CC"getRiMethod", CC"("REFLECT_METHOD")"METHOD, FN_PTR(getRiMethod)}, {CC"RiMethod_methodData", CC"("RESOLVED_METHOD")"METHOD_DATA, FN_PTR(RiMethod_1methodData)}, + {CC"HotSpotMethodData_isMature", CC"("METHOD_DATA")Z", FN_PTR(HotSpotMethodData_1isMature)}, {CC"RiMethod_invocationCount", CC"("RESOLVED_METHOD")I", FN_PTR(RiMethod_1invocationCount)}, {CC"RiMethod_hasCompiledCode", CC"("RESOLVED_METHOD")Z", FN_PTR(RiMethod_1hasCompiledCode)}, {CC"RiSignature_lookupType", CC"("STRING RESOLVED_TYPE")"TYPE, FN_PTR(RiSignature_1lookupType)},