changeset 23339:dd20a3a6b24f

TraceRA: improve assertion in TraceBuilderResult.
author Josef Eisl <josef.eisl@jku.at>
date Wed, 20 Jan 2016 11:59:13 +0100
parents 859766efc59e
children 2e1f11dec368
files graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/alloc/TraceBuilderResult.java
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/alloc/TraceBuilderResult.java	Wed Jan 20 11:58:32 2016 +0100
+++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/alloc/TraceBuilderResult.java	Wed Jan 20 11:59:13 2016 +0100
@@ -77,9 +77,12 @@
         assert verifyAllBlocksScheduled(traceBuilderResult, expectedLength) : "Not all blocks assigned to traces!";
         for (Trace<T> trace : traces) {
             T last = null;
+            int blockNumber = 0;
             for (T current : trace.getBlocks()) {
-                assert last == null || current.getPredecessors().contains(last);
+                assert last == null || current.getPredecessors().contains(last) : "Last block (" + last + ") not a predecessor of " + current;
+                assert current.getLinearScanNumber() == blockNumber : "Blocks not numbered correctly: " + current.getLinearScanNumber() + " vs. " + blockNumber;
                 last = current;
+                blockNumber++;
             }
         }
         return true;
@@ -90,6 +93,7 @@
         BitSet handled = new BitSet(expectedLength);
         for (Trace<T> trace : traces) {
             for (T block : trace.getBlocks()) {
+                assert !handled.get(block.getId()) : "Block added twice: " + block;
                 handled.set(block.getId());
             }
         }