# HG changeset patch # User Thomas Wuerthinger # Date 1357830265 -3600 # Node ID 88b3b9b9a47bdadc6b5b26b2df84261646767dbc # Parent 1003fde9b8827209262c1cfefc0fcb207ed3e42e Experimentation with new probability based code emission order. diff -r 1003fde9b882 -r 88b3b9b9a47b graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java --- a/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java Thu Jan 10 15:29:52 2013 +0100 +++ b/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java Thu Jan 10 16:04:25 2013 +0100 @@ -58,6 +58,22 @@ countEdges(startBlock, null); computeOrder(startBlock); + + + List newCodeEmittingOrder = new ArrayList<>(); + List outOfLine = new ArrayList<>(); + for (Block b : codeEmittingOrder) { + if (b.getBeginNode().probability() > 0.07) { + newCodeEmittingOrder.add(b); + } else { + outOfLine.add(b); + } + } + + for (Block b : outOfLine) { + newCodeEmittingOrder.add(b); + } + codeEmittingOrder = newCodeEmittingOrder; } /**