# HG changeset patch # User Doug Simon # Date 1370501503 -7200 # Node ID f6a792c8e3ec2738cc1bb3606f2e9c875d73bc6f # Parent 249e76a9703196e8c7a01b727eebab98aaa8d8e7 added documentation for BytecodeFrame.rethrowException diff -r 249e76a97031 -r f6a792c8e3ec graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BytecodeFrame.java --- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BytecodeFrame.java Wed Jun 05 19:37:27 2013 +0200 +++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/BytecodeFrame.java Thu Jun 06 08:51:43 2013 +0200 @@ -82,6 +82,13 @@ */ public final int numLocks; + /** + * True if this is a position inside an exception handler before the exception object has been + * consumed. In this case, {@link #numStack == 1} and {@link #getStackValue(int) + * getStackValue(0)} is the location of the exception object. If deoptimization happens at this + * position, the interpreter will rethrow the exception instead of executing the bytecode + * instruction at this position. + */ public final boolean rethrowException; public final boolean duringCall; diff -r 249e76a97031 -r f6a792c8e3ec graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Wed Jun 05 19:37:27 2013 +0200 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/FrameStateBuilder.java Thu Jun 06 08:51:43 2013 +0200 @@ -49,6 +49,10 @@ private ValueNode[] locks; private int stackSize; + + /** + * @see BytecodeFrame#rethrowException + */ private boolean rethrowException; public FrameStateBuilder(ResolvedJavaMethod method, StructuredGraph graph, boolean eagerResolve) { @@ -308,10 +312,16 @@ } } + /** + * @see BytecodeFrame#rethrowException + */ public boolean rethrowException() { return rethrowException; } + /** + * @see BytecodeFrame#rethrowException + */ public void setRethrowException(boolean b) { rethrowException = b; } diff -r 249e76a97031 -r f6a792c8e3ec graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Wed Jun 05 19:37:27 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java Thu Jun 06 08:51:43 2013 +0200 @@ -41,6 +41,9 @@ protected final int stackSize; + /** + * @see BytecodeFrame#rethrowException + */ private boolean rethrowException; private boolean duringCall; @@ -160,6 +163,9 @@ this.outerFrameState = x; } + /** + * @see BytecodeFrame#rethrowException + */ public boolean rethrowException() { return rethrowException; }