changeset 14832:4e784d4f5aea

BciBlockMapping use AbstractBlockBase.id instead of blockID.
author Josef Eisl <josef.eisl@jku.at>
date Mon, 24 Mar 2014 11:58:59 +0100
parents cbf616a24600
children 6c4b46e4f640
files graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/AbstractBlockBase.java
diffstat 3 files changed, 24 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Mon Mar 24 12:10:17 2014 +0000
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java	Mon Mar 24 11:58:59 2014 +0100
@@ -81,7 +81,6 @@
         public boolean isExceptionEntry;
         public boolean isLoopHeader;
         public int loopId;
-        public int blockID;
 
         public FixedWithNextNode firstInstruction;
         public HIRFrameStateBuilder entryState;
@@ -134,7 +133,7 @@
 
         @Override
         public String toString() {
-            StringBuilder sb = new StringBuilder("B").append(blockID);
+            StringBuilder sb = new StringBuilder("B").append(getId());
             sb.append('[').append(startBci).append("->").append(endBci);
             if (isLoopHeader || isExceptionEntry) {
                 sb.append(' ');
@@ -260,7 +259,7 @@
 
     private boolean verify() {
         for (BciBlock block : blocks) {
-            assert blocks.get(block.blockID) == block;
+            assert blocks.get(block.getId()) == block;
 
             for (int i = 0; i < block.getSuccessorCount(); i++) {
                 BciBlock sux = block.getSuccessor(i);
@@ -275,7 +274,7 @@
 
     private void initializeBlockIds() {
         for (int i = 0; i < blocks.size(); i++) {
-            blocks.get(i).blockID = i;
+            blocks.get(i).setId(i);
         }
     }
 
@@ -614,7 +613,7 @@
                 if (b == null) {
                     continue;
                 }
-                sb.append("B").append(b.blockID).append(" (").append(b.startBci).append(" -> ").append(b.endBci).append(")");
+                sb.append("B").append(b.getId()).append(" (").append(b.startBci).append(" -> ").append(b.endBci).append(")");
                 if (b.isLoopHeader) {
                     sb.append(" LoopHeader");
                 }
@@ -623,7 +622,7 @@
                 }
                 sb.append(n).append("  Sux : ");
                 for (BciBlock s : b.getSuccessors()) {
-                    sb.append("B").append(s.blockID).append(" (").append(s.startBci).append(" -> ").append(s.endBci).append(")");
+                    sb.append("B").append(s.getId()).append(" (").append(s.startBci).append(" -> ").append(s.endBci).append(")");
                     if (s.isExceptionEntry) {
                         sb.append("!");
                     }
@@ -635,7 +634,7 @@
                 while (l != 0) {
                     int lMask = 1 << pos;
                     if ((l & lMask) != 0) {
-                        sb.append("B").append(loopHeaders[pos].blockID).append(" ");
+                        sb.append("B").append(loopHeaders[pos].getId()).append(" ");
                         l &= ~lMask;
                     }
                     pos++;
@@ -646,7 +645,7 @@
                 while (l != 0) {
                     int lMask = 1 << pos;
                     if ((l & lMask) != 0) {
-                        sb.append("B").append(loopHeaders[pos].blockID).append(" ");
+                        sb.append("B").append(loopHeaders[pos].getId()).append(" ");
                         l &= ~lMask;
                     }
                     pos++;
@@ -786,10 +785,10 @@
                 changed = false;
                 for (int i = blocks.size() - 1; i >= 0; i--) {
                     BciBlock block = blocks.get(i);
-                    int blockID = block.blockID;
+                    int blockID = block.getId();
                     // log statements in IFs because debugLiveX creates a new String
                     if (Debug.isLogEnabled()) {
-                        Debug.logv("  start B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s", block.blockID, block.startBci, block.endBci, debugLiveIn(blockID), debugLiveOut(blockID),
+                        Debug.logv("  start B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s", block.getId(), block.startBci, block.endBci, debugLiveIn(blockID), debugLiveOut(blockID),
                                         debugLiveGen(blockID), debugLiveKill(blockID));
                     }
 
@@ -798,9 +797,9 @@
                         int oldCardinality = liveOutCardinality(blockID);
                         for (BciBlock sux : block.getSuccessors()) {
                             if (Debug.isLogEnabled()) {
-                                Debug.log("    Successor B%d: %s", sux.blockID, debugLiveIn(sux.blockID));
+                                Debug.log("    Successor B%d: %s", sux.getId(), debugLiveIn(sux.getId()));
                             }
-                            propagateLiveness(blockID, sux.blockID);
+                            propagateLiveness(blockID, sux.getId());
                         }
                         blockChanged |= (oldCardinality != liveOutCardinality(blockID));
                     }
@@ -808,7 +807,7 @@
                     if (blockChanged) {
                         updateLiveness(blockID);
                         if (Debug.isLogEnabled()) {
-                            Debug.logv("  end   B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s", block.blockID, block.startBci, block.endBci, debugLiveIn(blockID), debugLiveOut(blockID),
+                            Debug.logv("  end   B%d  [%d, %d]  in: %s  out: %s  gen: %s  kill: %s", block.getId(), block.startBci, block.endBci, debugLiveIn(blockID), debugLiveOut(blockID),
                                             debugLiveGen(blockID), debugLiveKill(blockID));
                         }
                     }
@@ -877,7 +876,7 @@
             if (block.startBci < 0 || block.endBci < 0) {
                 return;
             }
-            int blockID = block.blockID;
+            int blockID = block.getId();
             stream.setBCI(block.startBci);
             while (stream.currentBCI() <= block.endBci) {
                 switch (stream.currentBC()) {
@@ -1085,13 +1084,13 @@
 
         @Override
         public boolean localIsLiveIn(BciBlock block, int local) {
-            int blockID = block.blockID;
+            int blockID = block.getId();
             return blockID >= Integer.MAX_VALUE ? false : (localsLiveIn[blockID] & (1L << local)) != 0L;
         }
 
         @Override
         public boolean localIsLiveOut(BciBlock block, int local) {
-            int blockID = block.blockID;
+            int blockID = block.getId();
             return blockID >= Integer.MAX_VALUE ? false : (localsLiveOut[blockID] & (1L << local)) != 0L;
         }
     }
@@ -1170,12 +1169,12 @@
 
         @Override
         public boolean localIsLiveIn(BciBlock block, int local) {
-            return block.blockID >= Integer.MAX_VALUE ? true : localsLiveIn[block.blockID].get(local);
+            return block.getId() >= Integer.MAX_VALUE ? true : localsLiveIn[block.getId()].get(local);
         }
 
         @Override
         public boolean localIsLiveOut(BciBlock block, int local) {
-            return block.blockID >= Integer.MAX_VALUE ? true : localsLiveOut[block.blockID].get(local);
+            return block.getId() >= Integer.MAX_VALUE ? true : localsLiveOut[block.getId()].get(local);
         }
     }
 }
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Mon Mar 24 12:10:17 2014 +0000
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Mon Mar 24 11:58:59 2014 +0100
@@ -293,7 +293,7 @@
                 unwindBlock.startBci = -1;
                 unwindBlock.endBci = -1;
                 unwindBlock.deoptBci = bci;
-                unwindBlock.blockID = Integer.MAX_VALUE;
+                unwindBlock.setId(Integer.MAX_VALUE);
             }
             return unwindBlock;
         }
@@ -1556,7 +1556,7 @@
             }
 
             if (block.firstInstruction instanceof LoopBeginNode) {
-                assert block.isLoopHeader && currentBlock.blockID >= block.blockID : "must be backward branch";
+                assert block.isLoopHeader && currentBlock.getId() >= block.getId() : "must be backward branch";
                 /*
                  * Backward loop edge. We need to create a special LoopEndNode and merge with the
                  * loop begin node created before.
@@ -1569,7 +1569,7 @@
                 Debug.log("createTarget %s: merging backward branch to loop header %s, result: %s", block, loopBegin, result);
                 return result;
             }
-            assert currentBlock == null || currentBlock.blockID < block.blockID : "must not be backward branch";
+            assert currentBlock == null || currentBlock.getId() < block.getId() : "must not be backward branch";
             assert block.firstInstruction.next() == null : "bytecodes already parsed for block";
 
             if (block.firstInstruction instanceof BlockPlaceholderNode) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/AbstractBlockBase.java	Mon Mar 24 12:10:17 2014 +0000
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/AbstractBlockBase.java	Mon Mar 24 11:58:59 2014 +0100
@@ -45,6 +45,10 @@
         return id;
     }
 
+    public void setId(int id) {
+        this.id = id;
+    }
+
     public List<T> getPredecessors() {
         return predecessors;
     }