Mercurial > hg > truffle
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() { |