comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java @ 12643:856a9864ed93

Frame: add is<Type> methods.
author Andreas Woess <andreas.woess@jku.at>
date Wed, 30 Oct 2013 20:01:50 +0100
parents 139b84d713bc
children 833f8e96d0a5
comparison
equal deleted inserted replaced
12642:e9f23b348da2 12643:856a9864ed93
198 Arrays.fill(locals, oldSize, newSize, descriptor.getTypeConversion().getDefaultValue()); 198 Arrays.fill(locals, oldSize, newSize, descriptor.getTypeConversion().getDefaultValue());
199 tags = Arrays.copyOf(tags, newSize); 199 tags = Arrays.copyOf(tags, newSize);
200 } 200 }
201 } 201 }
202 202
203 @Override 203 private byte getTag(FrameSlot slot) {
204 public boolean isInitialized(FrameSlot slot) { 204 int slotIndex = slot.getIndex();
205 int slotIndex = slot.getIndex(); 205 if (slotIndex >= tags.length) {
206 if (slotIndex >= tags.length) { 206 resize();
207 resize(); 207 }
208 } 208 return tags[slotIndex];
209 return tags[slotIndex] != 0; 209 }
210
211 @Override
212 public boolean isObject(FrameSlot slot) {
213 return getTag(slot) == FrameSlotKind.Object.ordinal();
214 }
215
216 @Override
217 public boolean isByte(FrameSlot slot) {
218 return getTag(slot) == FrameSlotKind.Byte.ordinal();
219 }
220
221 @Override
222 public boolean isBoolean(FrameSlot slot) {
223 return getTag(slot) == FrameSlotKind.Boolean.ordinal();
224 }
225
226 @Override
227 public boolean isInt(FrameSlot slot) {
228 return getTag(slot) == FrameSlotKind.Int.ordinal();
229 }
230
231 @Override
232 public boolean isLong(FrameSlot slot) {
233 return getTag(slot) == FrameSlotKind.Long.ordinal();
234 }
235
236 @Override
237 public boolean isFloat(FrameSlot slot) {
238 return getTag(slot) == FrameSlotKind.Float.ordinal();
239 }
240
241 @Override
242 public boolean isDouble(FrameSlot slot) {
243 return getTag(slot) == FrameSlotKind.Double.ordinal();
210 } 244 }
211 } 245 }