Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index c7365531b3f2af656a4c30d19788cccd12642d11..a623775f2f8aa68dddb9fbd3c93703321bfde43f 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -274,7 +274,7 @@ class Representation { |
return kind_ == other.kind_; |
} |
- Kind kind() const { return kind_; } |
+ Kind kind() const { return static_cast<Kind>(kind_); } |
bool IsNone() const { return kind_ == kNone; } |
bool IsTagged() const { return kind_ == kTagged; } |
bool IsInteger32() const { return kind_ == kInteger32; } |
@@ -288,7 +288,10 @@ class Representation { |
private: |
explicit Representation(Kind k) : kind_(k) { } |
- Kind kind_; |
+ // Make sure kind fits in int8. |
+ STATIC_ASSERT(kNumRepresentations <= (1 << kBitsPerByte)); |
+ |
+ int8_t kind_; |
}; |
@@ -395,9 +398,12 @@ class HType { |
kUninitialized = 0x1fff // 0001 1111 1111 1111 |
}; |
+ // Make sure type fits in int16. |
+ STATIC_ASSERT(kUninitialized < (1 << (2 * kBitsPerByte))); |
+ |
explicit HType(Type t) : type_(t) { } |
- Type type_; |
+ int16_t type_; |
}; |
@@ -611,8 +617,8 @@ class HValue: public ZoneObject { |
int id_; |
Representation representation_; |
- SmallPointerList<HValue> uses_; |
HType type_; |
+ SmallPointerList<HValue> uses_; |
Range* range_; |
int flags_; |