Mercurial > hg > truffle
changeset 19503:910c4f1006c9
Merge.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 19 Feb 2015 12:11:18 +0100 |
parents | 71a6d0ba3a49 (current diff) c162000dd30c (diff) |
children | 95aa11d4822d |
files | |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java Thu Feb 19 11:41:13 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java Thu Feb 19 12:11:18 2015 +0100 @@ -367,6 +367,7 @@ private int blocksNotYetAssignedId; public int returnCount; + private int returnBci; /** * Creates a new BlockMap instance from bytecode of the given method . @@ -465,6 +466,7 @@ case RETURN: { returnCount++; current = null; + returnBci = bci; break; } case ATHROW: { @@ -769,11 +771,15 @@ // Add return block. BciBlock returnBlock = new BciBlock(); + returnBlock.startBci = returnBci; + returnBlock.endBci = returnBci; returnBlock.setId(newBlocks.length - 2); newBlocks[newBlocks.length - 2] = returnBlock; // Add unwind block. ExceptionDispatchBlock unwindBlock = new ExceptionDispatchBlock(); + unwindBlock.startBci = -1; + unwindBlock.endBci = -1; unwindBlock.deoptBci = method.isSynchronized() ? BytecodeFrame.UNWIND_BCI : BytecodeFrame.AFTER_EXCEPTION_BCI; unwindBlock.setId(newBlocks.length - 1); newBlocks[newBlocks.length - 1] = unwindBlock;