changeset 2937:2823897b2da2

Fix for NodeWorkList
author Gilles Duboscq <gilles.duboscq@oracle.com>
date Fri, 10 Jun 2011 16:53:34 +0200
parents 3fa0e12d524a
children 668603cb3263 53a8754c8eef
files graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/NodeWorkList.java graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java src/share/vm/runtime/java.cpp
diffstat 5 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/NodeWorkList.java	Fri Jun 10 15:12:10 2011 +0200
+++ b/graal/com.oracle.max.graal.graph/src/com/oracle/max/graal/graph/NodeWorkList.java	Fri Jun 10 16:53:34 2011 +0200
@@ -77,6 +77,7 @@
 
     public void replaced(Node newNode, Node oldNode, boolean add, EdgeType... edges) {
         visited.grow(newNode);
+        inQueue.grow(newNode);
         worklist.remove(oldNode);
         assert !worklist.contains(oldNode);
         if (add) {
--- a/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java	Fri Jun 10 15:12:10 2011 +0200
+++ b/graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMExitsNative.java	Fri Jun 10 16:53:34 2011 +0200
@@ -77,7 +77,7 @@
     public void startCompiler() {
         originalOut = System.out;
         originalErr = System.err;
-        TTY.println("startCompiler: " + originalOut);
+        //TTY.println("startCompiler: " + originalOut);
     }
 
     public void shutdownCompiler() throws Throwable {
--- a/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java	Fri Jun 10 15:12:10 2011 +0200
+++ b/src/share/tools/IdealGraphVisualizer/Data/src/com/sun/hotspot/igv/data/InputBlock.java	Fri Jun 10 16:53:34 2011 +0200
@@ -98,7 +98,7 @@
         graph.setBlock(n, this);
         final InputNode node = graph.getNode(id);
         assert node != null;
-        assert !nodes.contains(node);
+        assert !nodes.contains(node) : "duplicate : " + node;
         nodes.add(node);
     }
 
--- a/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java	Fri Jun 10 15:12:10 2011 +0200
+++ b/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/DiagramScene.java	Fri Jun 10 16:53:34 2011 +0200
@@ -1021,7 +1021,7 @@
 
         for (Figure f : diagram.getFigures()) {
             FigureWidget w = getWidget(f);
-            if (w.isVisible()) {
+            if (w != null && w.isVisible()) {
                 oldVisibleWidgets.add(w);
             }
         }
--- a/src/share/vm/runtime/java.cpp	Fri Jun 10 15:12:10 2011 +0200
+++ b/src/share/vm/runtime/java.cpp	Fri Jun 10 16:53:34 2011 +0200
@@ -419,9 +419,9 @@
   #define BEFORE_EXIT_DONE    2
   static jint volatile _before_exit_status = BEFORE_EXIT_NOT_RUN;
 
-//  if (UseGraal) {
-//    GraalCompiler::instance()->exit();
-//  }
+  if (UseGraal) {
+    GraalCompiler::instance()->exit();
+  }
 
   // Note: don't use a Mutex to guard the entire before_exit(), as
   // JVMTI post_thread_end_event and post_vm_death_event will run native code.