Mercurial > hg > graal-jvmci-8
comparison graal/GraalCompiler/src/com/sun/c1x/ir/Instruction.java @ 2805:c3f64b66fc78
Towards removing the next pointer from Constant and ArithmeticOp
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Fri, 27 May 2011 19:57:56 +0200 |
parents | e1dad0edd57a |
children | 2b8ef0a06391 ac4b086cbd72 |
comparison
equal
deleted
inserted
replaced
2804:095162a84dcc | 2805:c3f64b66fc78 |
---|---|
143 | 143 |
144 public Instruction predAt(int j) { | 144 public Instruction predAt(int j) { |
145 return (Instruction) predecessors().get(j); | 145 return (Instruction) predecessors().get(j); |
146 } | 146 } |
147 | 147 |
148 @Override | |
149 public Merge block() { | |
150 Instruction cur = this; | |
151 while (!(cur instanceof Merge)) { | |
152 List<Node> preds = cur.predecessors(); | |
153 cur = (Instruction) preds.get(0); | |
154 } | |
155 return (Merge) cur; | |
156 } | |
157 | |
158 /** | |
159 * Compute the value number of this Instruction. Local and global value numbering | |
160 * optimizations use a hash map, and the value number provides a hash code. | |
161 * If the instruction cannot be value numbered, then this method should return | |
162 * {@code 0}. | |
163 * @return the hashcode of this instruction | |
164 */ | |
165 public int valueNumber() { | |
166 return 0; | |
167 } | |
168 | |
169 /** | |
170 * Checks that this instruction is equal to another instruction for the purposes | |
171 * of value numbering. | |
172 * @param i the other instruction | |
173 * @return {@code true} if this instruction is equivalent to the specified | |
174 * instruction w.r.t. value numbering | |
175 */ | |
176 public boolean valueEqual(Instruction i) { | |
177 return false; | |
178 } | |
179 | |
180 /** | 148 /** |
181 * Gets the state after the instruction, if it is recorded. Typically only | 149 * Gets the state after the instruction, if it is recorded. Typically only |
182 * instances of {@link BlockEnd} have a non-null state after. | 150 * instances of {@link BlockEnd} have a non-null state after. |
183 * @return the state after the instruction | 151 * @return the state after the instruction |
184 */ | 152 */ |