# HG changeset patch # User Thomas Wuerthinger # Date 1346948478 -7200 # Node ID 8c4b96100f6a92a08bea7c1261650460469d02b7 # Parent 9418ff4c9e7cb1d78f59ea506c06dd3e10665fc1# Parent a7ca97188edff5afafd7241d01f04fc2ec5de5cd Merge. diff -r 9418ff4c9e7c -r 8c4b96100f6a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java --- 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(); } } diff -r 9418ff4c9e7c -r 8c4b96100f6a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java --- 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())); + } + } } diff -r 9418ff4c9e7c -r 8c4b96100f6a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java --- 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()); diff -r 9418ff4c9e7c -r 8c4b96100f6a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java --- 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 diff -r 9418ff4c9e7c -r 8c4b96100f6a mx/commands.py --- 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') diff -r 9418ff4c9e7c -r 8c4b96100f6a mx/sanitycheck.py --- 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'], }