comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameDescriptor.java @ 12644:e122dc0436be

convert FrameSlot interface to a final class.
author Andreas Woess <andreas.woess@jku.at>
date Wed, 30 Oct 2013 19:05:29 +0100
parents 91a676d0bbbe
children 042a2d972174
comparison
equal deleted inserted replaced
12643:856a9864ed93 12644:e122dc0436be
34 * descriptor. 34 * descriptor.
35 */ 35 */
36 public final class FrameDescriptor implements Cloneable { 36 public final class FrameDescriptor implements Cloneable {
37 37
38 private final FrameTypeConversion typeConversion; 38 private final FrameTypeConversion typeConversion;
39 private final ArrayList<FrameSlotImpl> slots; 39 private final ArrayList<FrameSlot> slots;
40 private final HashMap<Object, FrameSlotImpl> identifierToSlotMap; 40 private final HashMap<Object, FrameSlot> identifierToSlotMap;
41 private Assumption version; 41 private Assumption version;
42 private HashMap<Object, Assumption> identifierToNotInFrameAssumptionMap; 42 private HashMap<Object, Assumption> identifierToNotInFrameAssumptionMap;
43 43
44 public FrameDescriptor() { 44 public FrameDescriptor() {
45 this(DefaultFrameTypeConversion.getInstance()); 45 this(DefaultFrameTypeConversion.getInstance());
56 return addFrameSlot(identifier, FrameSlotKind.Illegal); 56 return addFrameSlot(identifier, FrameSlotKind.Illegal);
57 } 57 }
58 58
59 public FrameSlot addFrameSlot(Object identifier, FrameSlotKind kind) { 59 public FrameSlot addFrameSlot(Object identifier, FrameSlotKind kind) {
60 assert !identifierToSlotMap.containsKey(identifier); 60 assert !identifierToSlotMap.containsKey(identifier);
61 FrameSlotImpl slot = new FrameSlotImpl(this, identifier, slots.size(), kind); 61 FrameSlot slot = new FrameSlot(this, identifier, slots.size(), kind);
62 slots.add(slot); 62 slots.add(slot);
63 identifierToSlotMap.put(identifier, slot); 63 identifierToSlotMap.put(identifier, slot);
64 updateVersion(); 64 updateVersion();
65 invalidateNotInFrameAssumption(identifier); 65 invalidateNotInFrameAssumption(identifier);
66 return slot; 66 return slot;