changeset 6322:8c4b96100f6a

Merge.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 06 Sep 2012 18:21:18 +0200
parents 9418ff4c9e7c (current diff) a7ca97188edf (diff)
children f0f2013be1c9
files
diffstat 6 files changed, 28 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java	Thu Sep 06 18:07:15 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java	Thu Sep 06 18:21:18 2012 +0200
@@ -107,9 +107,10 @@
     }
 
     public void removeProxies() {
-        StructuredGraph graph = (StructuredGraph) graph();
         for (ValueProxyNode vpn : proxies().snapshot()) {
-            graph.replaceFloating(vpn, vpn.value());
+            // can not use graph.replaceFloating because vpn.value may be null during killCFG
+            vpn.replaceAtUsages(vpn.value());
+            vpn.safeDelete();
         }
     }
 
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java	Thu Sep 06 18:07:15 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java	Thu Sep 06 18:21:18 2012 +0200
@@ -161,4 +161,12 @@
     public boolean isLoopExit(BeginNode begin) {
         return begin instanceof LoopExitNode && ((LoopExitNode) begin).loopBegin() == this;
     }
+
+    public void removeExits() {
+        StructuredGraph graph = (StructuredGraph) graph();
+        for (LoopExitNode loopexit : loopExits().snapshot()) {
+            loopexit.removeProxies();
+            graph.replaceFixedWithFixed(loopexit, graph.add(new BeginNode()));
+        }
+    }
 }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java	Thu Sep 06 18:07:15 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java	Thu Sep 06 18:21:18 2012 +0200
@@ -346,10 +346,7 @@
         FrameState stateAfter = merge.stateAfter();
         // remove loop exits
         if (merge instanceof LoopBeginNode) {
-            for (LoopExitNode exit : ((LoopBeginNode) merge).loopExits().snapshot()) {
-                exit.removeProxies();
-                replaceFixedWithFixed(exit, this.add(new BeginNode()));
-            }
+            ((LoopBeginNode) merge).removeExits();
         }
         // evacuateGuards
         merge.prepareDelete((FixedNode) singleEnd.predecessor());
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java	Thu Sep 06 18:07:15 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java	Thu Sep 06 18:21:18 2012 +0200
@@ -75,12 +75,7 @@
                     loopend.predecessor().replaceFirstSuccessor(loopend, null);
                     loopend.safeDelete();
                 }
-                for (LoopExitNode loopexit : begin.loopExits().snapshot()) {
-                    for (ValueProxyNode vpn : loopexit.proxies().snapshot()) {
-                        graph.replaceFloating(vpn, vpn.value());
-                    }
-                    graph.replaceFixedWithFixed(loopexit, graph.add(new BeginNode()));
-                }
+                begin.removeExits();
                 killCFG(begin.next());
                 begin.safeDelete();
             } else if (merge instanceof LoopBeginNode && ((LoopBeginNode) merge).loopEnds().isEmpty()) { // not a loop anymore
--- a/mx/commands.py	Thu Sep 06 18:07:15 2012 +0200
+++ b/mx/commands.py	Thu Sep 06 18:21:18 2012 +0200
@@ -742,21 +742,22 @@
         else:
             _jacoco = 'off'
         
-        for vmbuild in ['fastdebug', 'product']:
-            _vmbuild = vmbuild
+
+        t = Task('BuildHotSpotGraal: fastdebug,product')
+        buildvms(['--vms', 'graal', '--builds', 'fastdebug,product'])
+        tasks.append(t.stop())
 
-            t = Task('BuildHotSpotGraal:' + vmbuild)
-            buildvms(['--vms', 'graal', '--builds', vmbuild])
-            tasks.append(t.stop())
-            
-            t = Task('BootstrapWithSystemAssertions:' + vmbuild)
-            vm(['-esa', '-version'])
-            tasks.append(t.stop())
+        _vmbuild = 'fastdebug'
+        t = Task('BootstrapWithSystemAssertions:fastdebug')
+        vm(['-esa', '-version'])
+        tasks.append(t.stop())
 
-            t = Task('UnitTests:' + vmbuild)
-            unittest(['@-XX:CompileCommand=exclude,*::run*'] if vmbuild == 'product'  else [])
-            tasks.append(t.stop())
+        _vmbuild = 'product'
+        t = Task('UnitTests:product')
+        unittest(['@-XX:CompileCommand=exclude,*::run*'])
+        tasks.append(t.stop())
 
+        for vmbuild in ['fastdebug', 'product']:
             for test in sanitycheck.getDacapos(level=sanitycheck.SanityCheckLevel.Gate, gateBuildLevel=vmbuild):
                 t = Task(str(test) + ':' + vmbuild)
                 if not test.test('graal'):
@@ -768,10 +769,6 @@
             
         _jacoco = 'off'
 
-        t = Task('BootstrapWithDeoptALot')
-        vm(['-XX:+DeoptimizeALot', '-XX:+VerifyOops', '-version'], vmbuild='fastdebug')
-        tasks.append(t.stop())
-
         t = Task('Checkstyle')
         if mx.checkstyle([]) != 0:
             t.abort('Checkstyle warnings were found')
--- a/mx/sanitycheck.py	Thu Sep 06 18:07:15 2012 +0200
+++ b/mx/sanitycheck.py	Thu Sep 06 18:21:18 2012 +0200
@@ -71,10 +71,10 @@
     'luindex':    ['product', 'fastdebug', 'debug'],
     'lusearch':   ['product'],
     'pmd':        ['product', 'fastdebug', 'debug'],
-    'sunflow':    ['product', 'fastdebug', 'debug'],
+    'sunflow':    [           'fastdebug', 'debug'],
     'tomcat':     ['product', 'fastdebug', 'debug'],
     'tradebeans': ['product', 'fastdebug', 'debug'],
-    'tradesoap':  ['product', 'fastdebug'],
+    'tradesoap':  ['product'],
     'xalan':      ['product', 'fastdebug', 'debug'],
 }