Mercurial > hg > graal-compiler
comparison graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java @ 2622:91d3952f7eb7
Framestate work : using stateAFter and reducting the number of nodes with framestates. Intermediate state (does not pass tests)
author | Gilles Duboscq <gilles.duboscq@oracle.com> |
---|---|
date | Tue, 10 May 2011 12:37:46 +0200 |
parents | dd115f80acf8 |
children | 62ff4a70f07e |
comparison
equal
deleted
inserted
replaced
2621:dd115f80acf8 | 2622:91d3952f7eb7 |
---|---|
58 } | 58 } |
59 | 59 |
60 /** | 60 /** |
61 * The frame state before execution of the first instruction in this block. | 61 * The frame state before execution of the first instruction in this block. |
62 */ | 62 */ |
63 @Override | |
64 public FrameState stateBefore() { | 63 public FrameState stateBefore() { |
65 return (FrameState) inputs().get(super.inputCount() + INPUT_STATE_BEFORE); | 64 return (FrameState) inputs().get(super.inputCount() + INPUT_STATE_BEFORE); |
66 } | 65 } |
67 | 66 |
68 public FrameState setStateBefore(FrameState n) { | 67 public FrameState setStateBefore(FrameState n) { |
126 /** | 125 /** |
127 * Denotes the current set of {@link BlockBegin.BlockFlag} settings. | 126 * Denotes the current set of {@link BlockBegin.BlockFlag} settings. |
128 */ | 127 */ |
129 private int blockFlags; | 128 private int blockFlags; |
130 | 129 |
130 private FrameState stateAfter; | |
131 | |
131 /** | 132 /** |
132 * The {@link BlockBegin} nodes for which this node is a successor. | 133 * The {@link BlockBegin} nodes for which this node is a successor. |
133 */ | 134 */ |
134 private final List<BlockBegin> predecessors; | 135 private final List<BlockBegin> predecessors; |
135 | 136 |
213 * Gets the loop index of this block. | 214 * Gets the loop index of this block. |
214 * @return the loop index | 215 * @return the loop index |
215 */ | 216 */ |
216 public int loopIndex() { | 217 public int loopIndex() { |
217 return loopIndex; | 218 return loopIndex; |
219 } | |
220 | |
221 public void setStateAfter(FrameState stateAfter) { | |
222 this.stateAfter = stateAfter; | |
223 } | |
224 | |
225 @Override | |
226 public FrameState stateAfter() { | |
227 return stateAfter; | |
218 } | 228 } |
219 | 229 |
220 /** | 230 /** |
221 * Gets the exception handlers that cover one or more instructions of this basic block. | 231 * Gets the exception handlers that cover one or more instructions of this basic block. |
222 * | 232 * |