comparison graal/com.oracle.graal.java/src/com/oracle/graal/java/HIRFrameStateBuilder.java @ 19585:d28482893f28

Fix construction of unwind BEFORE_EXCEPTION_BCI frame states when inlining in the graph builder.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Tue, 24 Feb 2015 20:23:42 +0100
parents 0362d64c0cd4
children 490f2c54c28a
comparison
equal deleted inserted replaced
19584:6ccf3993b7f2 19585:d28482893f28
199 199
200 public FrameState create(int bci) { 200 public FrameState create(int bci) {
201 FrameState outerFrameState = null; 201 FrameState outerFrameState = null;
202 if (outerFrameStateSupplier != null) { 202 if (outerFrameStateSupplier != null) {
203 outerFrameState = outerFrameStateSupplier.get(); 203 outerFrameState = outerFrameStateSupplier.get();
204 if (bci == BytecodeFrame.AFTER_EXCEPTION_BCI) {
205 FrameState newFrameState = outerFrameState.duplicateModified(outerFrameState.bci, true, Kind.Void, this.peek(0));
206 return newFrameState;
207 }
204 } 208 }
205 return graph.add(new FrameState(outerFrameState, method, bci, locals, stack, stackSize, lockedObjects, Arrays.asList(monitorIds), rethrowException, false)); 209 return graph.add(new FrameState(outerFrameState, method, bci, locals, stack, stackSize, lockedObjects, Arrays.asList(monitorIds), rethrowException, false));
206 } 210 }
207 211
208 public HIRFrameStateBuilder copy() { 212 public HIRFrameStateBuilder copy() {