Mercurial > hg > graal-jvmci-8
changeset 19502:c162000dd30c
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 19 Feb 2015 11:36:53 +0100 |
parents | 45c90acd813e (diff) 5a91549293df (current diff) |
children | 910c4f1006c9 068256ee3b90 |
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 Wed Feb 18 20:38:04 2015 -0800 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java Thu Feb 19 11:36:53 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;