Mercurial > hg > truffle
comparison graal/com.oracle.max.cri/src/com/oracle/max/cri/ci/CiFrame.java @ 4678:a03f3fd16b22
Fix reexecute boolean in HotSpot debug information. Introduce "duringCall" flag in FrameState that indicates that the bci of the frame state denotes an invoke that should *not* be reexecuted.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 23 Feb 2012 21:43:59 +0100 |
parents | aaac4894175c |
children | 51111665eda6 |
comparison
equal
deleted
inserted
replaced
4677:74c0b866fe8d | 4678:a03f3fd16b22 |
---|---|
65 */ | 65 */ |
66 public final int numLocks; | 66 public final int numLocks; |
67 | 67 |
68 public final boolean rethrowException; | 68 public final boolean rethrowException; |
69 | 69 |
70 public final boolean duringCall; | |
71 | |
70 /** | 72 /** |
71 * Creates a new frame object. | 73 * Creates a new frame object. |
72 * | 74 * |
73 * @param caller the caller frame (which may be {@code null}) | 75 * @param caller the caller frame (which may be {@code null}) |
74 * @param method the method | 76 * @param method the method |
77 * @param values the frame state {@link #values} | 79 * @param values the frame state {@link #values} |
78 * @param numLocals the number of local variables | 80 * @param numLocals the number of local variables |
79 * @param numStack the depth of the stack | 81 * @param numStack the depth of the stack |
80 * @param numLocks the number of locked objects | 82 * @param numLocks the number of locked objects |
81 */ | 83 */ |
82 public CiFrame(CiFrame caller, RiResolvedMethod method, int bci, boolean rethrowException, CiValue[] values, int numLocals, int numStack, int numLocks) { | 84 public CiFrame(CiFrame caller, RiResolvedMethod method, int bci, boolean rethrowException, boolean duringCall, CiValue[] values, int numLocals, int numStack, int numLocks) { |
83 super(caller, method, bci); | 85 super(caller, method, bci); |
84 assert values != null; | 86 assert values != null; |
85 this.rethrowException = rethrowException; | 87 this.rethrowException = rethrowException; |
86 this.values = values; | 88 this.values = values; |
87 this.numLocks = numLocks; | 89 this.numLocks = numLocks; |
88 this.numLocals = numLocals; | 90 this.numLocals = numLocals; |
89 this.numStack = numStack; | 91 this.numStack = numStack; |
92 this.duringCall = duringCall; | |
90 assert !rethrowException || numStack == 1 : "must have exception on top of the stack"; | 93 assert !rethrowException || numStack == 1 : "must have exception on top of the stack"; |
91 } | 94 } |
92 | 95 |
93 /** | 96 /** |
94 * Gets the value representing the specified local variable. | 97 * Gets the value representing the specified local variable. |