changeset 7331:88b3b9b9a47b

Experimentation with new probability based code emission order.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 10 Jan 2013 16:04:25 +0100
parents 1003fde9b882
children d91529efc642
files graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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<Block> newCodeEmittingOrder = new ArrayList<>();
+        List<Block> 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;
     }
 
     /**