Mercurial > hg > graal-compiler
changeset 8527:8a526d8b4604
Always clear 'queued for compilation' flag at the end of a compilation task
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 27 Mar 2013 14:35:10 +0100 |
parents | 3a105dec912f |
children | 67f19ede4891 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java src/share/vm/graal/graalCodeInstaller.cpp src/share/vm/graal/graalCompilerToVM.cpp |
diffstat | 5 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java Wed Mar 27 14:20:07 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java Wed Mar 27 14:35:10 2013 +0100 @@ -114,6 +114,7 @@ if (method.currentTask() == this) { method.setCurrentTask(null); } + graalRuntime.getCompilerToVM().clearQueuedForCompilation(method); inProgress = false; withinEnqueue.set(Boolean.TRUE); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Wed Mar 27 14:20:07 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Wed Mar 27 14:35:10 2013 +0100 @@ -212,4 +212,6 @@ Local[] getLocalVariableTable(HotSpotResolvedJavaMethod method); String getFileName(HotSpotResolvedJavaType method); + + void clearQueuedForCompilation(HotSpotResolvedJavaMethod method); }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Wed Mar 27 14:20:07 2013 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Wed Mar 27 14:35:10 2013 +0100 @@ -152,4 +152,7 @@ @Override public native String getFileName(HotSpotResolvedJavaType method); + + @Override + public native void clearQueuedForCompilation(HotSpotResolvedJavaMethod method); }
--- a/src/share/vm/graal/graalCodeInstaller.cpp Wed Mar 27 14:20:07 2013 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Wed Mar 27 14:35:10 2013 +0100 @@ -345,8 +345,6 @@ result = GraalEnv::register_method(method, nm, entry_bci, &_offsets, _custom_stack_area_offset, &buffer, stack_slots, _debug_recorder->_oopmaps, &_exception_handler_table, GraalCompiler::instance(), _debug_recorder, _dependencies, NULL, -1, true, false, leaf_graph_ids, installed_code, triggered_deoptimizations); - - method->clear_queued_for_compilation(); } // constructor used to create a stub
--- a/src/share/vm/graal/graalCompilerToVM.cpp Wed Mar 27 14:20:07 2013 +0100 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Wed Mar 27 14:35:10 2013 +0100 @@ -839,6 +839,11 @@ return result; C2V_END +C2V_VMENTRY(void, clearQueuedForCompilation, (JNIEnv *jniEnv, jobject, jobject resolvedMethod)) + methodHandle method = getMethodFromHotSpotMethod(JNIHandles::resolve(resolvedMethod)); + method->clear_queued_for_compilation(); +C2V_END + C2V_VMENTRY(jobject, getCode, (JNIEnv *jniEnv, jobject, jlong metaspace_nmethod)) ResourceMark rm; HandleMark hm; @@ -1100,6 +1105,7 @@ {CC"getLineNumberTable", CC"("HS_RESOLVED_METHOD")[J", FN_PTR(getLineNumberTable)}, {CC"getLocalVariableTable", CC"("HS_RESOLVED_METHOD")["LOCAL, FN_PTR(getLocalVariableTable)}, {CC"getFileName", CC"("HS_RESOLVED_JAVA_TYPE")"STRING, FN_PTR(getFileName)}, + {CC"clearQueuedForCompilation", CC"("HS_RESOLVED_METHOD")V", FN_PTR(clearQueuedForCompilation)}, }; int CompilerToVM_methods_count() {