Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/graph/BlockMap.java @ 2840:75e0d39833a0
new CompilerGraph, create only one Return and one Unwind per CompilerGraph
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 31 May 2011 16:53:19 +0200 |
parents | 706047ee5f2e |
children |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/BlockMap.java Tue May 31 13:42:01 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/graph/BlockMap.java Tue May 31 16:53:19 2011 +0200 @@ -401,15 +401,6 @@ private ExceptionBlock unwindBlock; - private ExceptionBlock makeUnwind() { - if (unwindBlock == null) { - unwindBlock = new ExceptionBlock(); - unwindBlock.startBci = -1; - unwindBlock.endBci = -1; - } - return unwindBlock; - } - private Block makeExceptionDispatch(List<RiExceptionHandler> handlers, int index) { RiExceptionHandler handler = handlers.get(index); if (handler.isCatchAll()) { @@ -422,14 +413,10 @@ block.endBci = -1; block.handler = handler; block.successors.add(blockMap[handler.handlerBCI()]); - Block next; if (index < handlers.size() - 1) { - next = makeExceptionDispatch(handlers, index + 1); - } else { - next = makeUnwind(); + block.next = makeExceptionDispatch(handlers, index + 1); + block.successors.add(block.next); } - block.successors.add(next); - block.next = next; exceptionDispatch.put(handler, block); } return block;