diff src/share/vm/graal/graalCompiler.cpp @ 10056:a323a9e20f9d

Fixed a few race conditions in the compilation queue.
author Christian Haeubl <haeubl@ssw.jku.at>
date Fri, 14 Jun 2013 19:12:56 +0200
parents 0f7ca53be929
children 36bcc10e01c0
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompiler.cpp	Fri Jun 14 15:52:59 2013 +0200
+++ b/src/share/vm/graal/graalCompiler.cpp	Fri Jun 14 19:12:56 2013 +0200
@@ -163,9 +163,7 @@
 void GraalCompiler::compile_method(methodHandle method, int entry_bci, jboolean blocking) {
   GRAAL_EXCEPTION_CONTEXT
   if (!_initialized) {
-    method->clear_queued_for_compilation();
-    method->invocation_counter()->reset();
-    method->backedge_counter()->reset();
+    CompilationPolicy::policy()->delay_compilation(method());
     return;
   }
 
@@ -173,12 +171,8 @@
   ResourceMark rm;
   JavaThread::current()->set_is_compiling(true);
   Handle holder = GraalCompiler::createHotSpotResolvedObjectType(method, CHECK);
-  jboolean success = VMToCompiler::compileMethod(method(), holder, entry_bci, blocking, method->graal_priority());
+  VMToCompiler::compileMethod(method(), holder, entry_bci, blocking, method->graal_priority());
   JavaThread::current()->set_is_compiling(false);
-  if (success != JNI_TRUE) {
-    method->clear_queued_for_compilation();
-    CompilationPolicy::policy()->delay_compilation(method());
-  }
 }
 
 // Compilation entry point for methods