Mercurial > hg > graal-compiler
diff graal/GraalCompiler/src/com/sun/c1x/ir/ComputeLinearScanOrder.java @ 2833:1cd59ca9ac86
Removed Throw HIR instruction. Removed special handling for exceptions in register allocator.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Tue, 31 May 2011 13:30:23 +0200 |
parents | 775c31be565c |
children | 9b8c194c1b1f |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/ComputeLinearScanOrder.java Tue May 31 11:50:19 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/ir/ComputeLinearScanOrder.java Tue May 31 13:30:23 2011 +0200 @@ -162,16 +162,6 @@ cur.setBackwardBranchTarget(true); parent.setLinearScanLoopEnd(); - // When a loop header is also the start of an exception handler, then the backward branch is - // an exception edge. Because such edges are usually critical edges which cannot be split, the - // loop must be excluded here from processing. - if (cur.isExceptionEntry()) { - // Make sure that dominators are correct in this weird situation - iterativeDominators = true; - return; - } -// assert parent.numberOfSux() == 1 && parent.suxAt(0) == cur : "loop end blocks must have one successor (critical edges are split)"; - loopEndBlocks.add(parent); return; } @@ -374,10 +364,10 @@ // curBit--; // exceptions handlers are added as late as possible - if (!cur.isExceptionEntry()) { - weight |= 1 << curBit; - } - curBit--; +// if (!cur.isExceptionEntry()) { +// weight |= 1 << curBit; +// } +// curBit--; // guarantee that weight is > 0 weight |= 1; @@ -502,7 +492,6 @@ for (LIRBlock cur : linearScanOrder) { TTY.print(String.format("%4d: B%02d loop: %2d depth: %2d", cur.linearScanNumber(), cur.blockID(), cur.loopIndex(), cur.loopDepth())); - TTY.print(cur.isExceptionEntry() ? " ex" : " "); TTY.print(cur.isLinearScanLoopHeader() ? " lh" : " "); TTY.print(cur.isLinearScanLoopEnd() ? " le" : " ");