OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 Representation generalize(Representation other) { | 124 Representation generalize(Representation other) { |
125 if (other.fits_into(*this)) return *this; | 125 if (other.fits_into(*this)) return *this; |
126 if (other.is_more_general_than(*this)) return other; | 126 if (other.is_more_general_than(*this)) return other; |
127 return Representation::Tagged(); | 127 return Representation::Tagged(); |
128 } | 128 } |
129 | 129 |
130 Kind kind() const { return static_cast<Kind>(kind_); } | 130 Kind kind() const { return static_cast<Kind>(kind_); } |
131 bool IsNone() const { return kind_ == kNone; } | 131 bool IsNone() const { return kind_ == kNone; } |
132 bool IsTagged() const { return kind_ == kTagged; } | 132 bool IsTagged() const { return kind_ == kTagged; } |
133 bool IsSmi() const { return kind_ == kSmi; } | 133 bool IsSmi() const { return kind_ == kSmi; } |
| 134 bool IsSmiOrTagged() const { return IsSmi() || IsTagged(); } |
134 bool IsInteger32() const { return kind_ == kInteger32; } | 135 bool IsInteger32() const { return kind_ == kInteger32; } |
135 bool IsDouble() const { return kind_ == kDouble; } | 136 bool IsDouble() const { return kind_ == kDouble; } |
136 bool IsHeapObject() const { return kind_ == kHeapObject; } | 137 bool IsHeapObject() const { return kind_ == kHeapObject; } |
137 bool IsExternal() const { return kind_ == kExternal; } | 138 bool IsExternal() const { return kind_ == kExternal; } |
138 bool IsSpecialization() const { | 139 bool IsSpecialization() const { |
139 return kind_ == kInteger32 || kind_ == kDouble; | 140 return kind_ == kInteger32 || kind_ == kDouble; |
140 } | 141 } |
141 const char* Mnemonic() const; | 142 const char* Mnemonic() const; |
142 | 143 |
143 private: | 144 private: |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 value_ = RepresentationField::update( | 238 value_ = RepresentationField::update( |
238 value, EncodeRepresentation(representation)); | 239 value, EncodeRepresentation(representation)); |
239 } | 240 } |
240 | 241 |
241 uint32_t value_; | 242 uint32_t value_; |
242 }; | 243 }; |
243 | 244 |
244 } } // namespace v8::internal | 245 } } // namespace v8::internal |
245 | 246 |
246 #endif // V8_PROPERTY_DETAILS_H_ | 247 #endif // V8_PROPERTY_DETAILS_H_ |
OLD | NEW |