Mercurial > hg > graal-compiler
changeset 16349:5a3351bb88a8
Minor refactoring in LoopFragment.mergeEarlyExits to improve readability
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 01 Jul 2014 18:08:19 +0200 |
parents | fefb82b01d6f |
children | 6055f84e41d7 |
files | graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Fri Jun 27 11:50:07 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Tue Jul 01 18:08:19 2014 +0200 @@ -322,21 +322,20 @@ merge.setNext(next); FrameState exitState = loopEarlyExit.stateAfter(); - FrameState state = null; if (exitState != null) { - state = exitState; + FrameState originalExitState = exitState; exitState = exitState.duplicateWithVirtualState(); loopEarlyExit.setStateAfter(exitState); - merge.setStateAfter(state); + merge.setStateAfter(originalExitState); /* * Using the old exit's state as the merge's state is necessary because some of the * VirtualState nodes contained in the old exit's state may be shared by other * dominated VirtualStates. Those dominated virtual states need to see the * proxy->phi update that are applied below. - * + * * We now update the original fragment's nodes accordingly: */ - state.applyToVirtual(node -> original.nodes.clearAndGrow(node)); + originalExitState.applyToVirtual(node -> original.nodes.clearAndGrow(node)); exitState.applyToVirtual(node -> original.nodes.markAndGrow(node)); } FrameState finalExitState = exitState;