Mercurial > hg > graal-compiler
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; |