equal
deleted
inserted
replaced
92 protected: |
92 protected: |
93 ValueType(ValueTag tag, int size): _tag(tag), _size(size) {} |
93 ValueType(ValueTag tag, int size): _tag(tag), _size(size) {} |
94 |
94 |
95 public: |
95 public: |
96 // initialization |
96 // initialization |
97 static void initialize(); |
97 static void initialize(Arena* arena); |
98 |
98 |
99 // accessors |
99 // accessors |
100 virtual ValueType* base() const = 0; // the 'canonical' type (e.g., intType for an IntConstant) |
100 virtual ValueType* base() const = 0; // the 'canonical' type (e.g., intType for an IntConstant) |
101 ValueTag tag() const { return _tag; } // the 'canonical' tag (useful for type matching) |
101 ValueTag tag() const { return _tag; } // the 'canonical' tag (useful for type matching) |
102 int size() const { // the size of an object of the type in words |
102 int size() const { // the size of an object of the type in words |