changeset 4415:63024a82e165

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Mon, 30 Jan 2012 15:46:58 +0100
parents bae1b1f29984 (current diff) 646a6bfecf73 (diff)
children be787de79394
files
diffstat 4 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/CompilerToVM.java	Mon Jan 30 15:41:28 2012 +0100
+++ b/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/CompilerToVM.java	Mon Jan 30 15:46:58 2012 +0100
@@ -31,7 +31,7 @@
 import com.oracle.max.graal.hotspot.ri.*;
 
 /**
- * Entries into the HotSpot VM from Java code.
+ * Calls from Java into HotSpot.
  */
 public interface CompilerToVM {
 
--- a/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/VMToCompiler.java	Mon Jan 30 15:41:28 2012 +0100
+++ b/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/VMToCompiler.java	Mon Jan 30 15:46:58 2012 +0100
@@ -28,7 +28,7 @@
 import com.oracle.max.graal.hotspot.ri.*;
 
 /**
- * Exits from the HotSpot VM into Java code.
+ * Calls from HotSpot into Java.
  */
 public interface VMToCompiler {
 
--- a/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/VMToCompilerImpl.java	Mon Jan 30 15:41:28 2012 +0100
+++ b/graal/com.oracle.max.graal.hotspot/src/com/oracle/max/graal/hotspot/bridge/VMToCompilerImpl.java	Mon Jan 30 15:46:58 2012 +0100
@@ -228,6 +228,10 @@
     public void compileMethod(final HotSpotMethodResolved method, final int entryBCI, boolean blocking) throws Throwable {
         try {
             if (Thread.currentThread() instanceof CompilerThread && method.holder().name().contains("java/util/concurrent")) {
+                // This is required to avoid deadlocking a compiler thread. The issue is that a
+                // java.util.concurrent.BlockingQueue is used to implement the compilation worker
+                // queues. If a compiler thread triggers a compilation, then it may be blocked trying
+                // to add something to its own queue.
                 return;
             }
 
--- a/graal/com.oracle.max.graal.tests/src/com/oracle/max/graal/compiler/tests/GraphTest.java	Mon Jan 30 15:41:28 2012 +0100
+++ b/graal/com.oracle.max.graal.tests/src/com/oracle/max/graal/compiler/tests/GraphTest.java	Mon Jan 30 15:46:58 2012 +0100
@@ -48,7 +48,7 @@
  * <p>
  * The tests can be run in Eclipse with the "Compiler Unit Test" Eclipse
  * launch configuration found in the top level of this project or by
- * running {@code mx gcut} on the command line.
+ * running {@code mx unittest} on the command line.
  */
 public abstract class GraphTest {