Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_TYPES_H_ | 5 #ifndef V8_TYPES_H_ |
| 6 #define V8_TYPES_H_ | 6 #define V8_TYPES_H_ |
| 7 | 7 |
| 8 #include "handles.h" | 8 #include "handles.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 147 V(UniqueName, kSymbol | kInternalizedString) \ | 147 V(UniqueName, kSymbol | kInternalizedString) \ |
| 148 V(Name, kSymbol | kString) \ | 148 V(Name, kSymbol | kString) \ |
| 149 V(NumberOrString, kNumber | kString) \ | 149 V(NumberOrString, kNumber | kString) \ |
| 150 V(DetectableObject, kArray | kFunction | kRegExp | kOtherObject) \ | 150 V(DetectableObject, kArray | kFunction | kRegExp | kOtherObject) \ |
| 151 V(DetectableReceiver, kDetectableObject | kProxy) \ | 151 V(DetectableReceiver, kDetectableObject | kProxy) \ |
| 152 V(Detectable, kDetectableReceiver | kNumber | kName) \ | 152 V(Detectable, kDetectableReceiver | kNumber | kName) \ |
| 153 V(Object, kDetectableObject | kUndetectable) \ | 153 V(Object, kDetectableObject | kUndetectable) \ |
| 154 V(Receiver, kObject | kProxy) \ | 154 V(Receiver, kObject | kProxy) \ |
| 155 V(NonNumber, kBoolean | kName | kNull | kReceiver | \ | 155 V(NonNumber, kBoolean | kName | kNull | kReceiver | \ |
| 156 kUndefined | kInternal) \ | 156 kUndefined | kInternal) \ |
| 157 V(Any, kNumber | kNonNumber) | 157 V(Any, -1) |
| 158 | 158 |
| 159 #define BITSET_TYPE_LIST(V) \ | 159 #define BITSET_TYPE_LIST(V) \ |
| 160 MASK_BITSET_TYPE_LIST(V) \ | 160 MASK_BITSET_TYPE_LIST(V) \ |
| 161 REPRESENTATION_BITSET_TYPE_LIST(V) \ | 161 REPRESENTATION_BITSET_TYPE_LIST(V) \ |
| 162 SEMANTIC_BITSET_TYPE_LIST(V) | 162 SEMANTIC_BITSET_TYPE_LIST(V) |
| 163 | 163 |
| 164 | 164 |
| 165 // struct Config { | 165 // struct Config { |
| 166 // typedef Base; | 166 // typedef Base; |
| 167 // typedef Struct; | 167 // typedef Struct; |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 290 } | 290 } |
| 291 | 291 |
| 292 template<class OtherTypeImpl> | 292 template<class OtherTypeImpl> |
| 293 static TypeHandle Convert( | 293 static TypeHandle Convert( |
| 294 typename OtherTypeImpl::TypeHandle type, Region* region); | 294 typename OtherTypeImpl::TypeHandle type, Region* region); |
| 295 | 295 |
| 296 enum PrintDimension { BOTH_DIMS, SEMANTIC_DIM, REPRESENTATION_DIM }; | 296 enum PrintDimension { BOTH_DIMS, SEMANTIC_DIM, REPRESENTATION_DIM }; |
| 297 void TypePrint(PrintDimension = BOTH_DIMS); | 297 void TypePrint(PrintDimension = BOTH_DIMS); |
| 298 void TypePrint(FILE* out, PrintDimension = BOTH_DIMS); | 298 void TypePrint(FILE* out, PrintDimension = BOTH_DIMS); |
| 299 | 299 |
| 300 bool IsInhabited() { | |
|
rossberg
2014/04/09 10:56:56
Nit: move this up to line 222
Benedikt Meurer
2014/04/09 11:12:26
Done.
| |
| 301 return !this->IsBitset() || IsInhabited(this->AsBitset()); | |
| 302 } | |
| 303 | |
| 300 private: | 304 private: |
| 301 template<class> friend class Iterator; | 305 template<class> friend class Iterator; |
| 302 template<class> friend class TypeImpl; | 306 template<class> friend class TypeImpl; |
| 303 friend struct ZoneTypeConfig; | 307 friend struct ZoneTypeConfig; |
| 304 friend struct HeapTypeConfig; | 308 friend struct HeapTypeConfig; |
| 305 | 309 |
| 306 enum Tag { | 310 enum Tag { |
| 307 kClassTag, | 311 kClassTag, |
| 308 kConstantTag, | 312 kConstantTag, |
| 309 kUnionTag | 313 kUnionTag |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 497 bool Narrows(BoundsImpl that) { | 501 bool Narrows(BoundsImpl that) { |
| 498 return that.lower->Is(this->lower) && this->upper->Is(that.upper); | 502 return that.lower->Is(this->lower) && this->upper->Is(that.upper); |
| 499 } | 503 } |
| 500 }; | 504 }; |
| 501 | 505 |
| 502 typedef BoundsImpl<ZoneTypeConfig> Bounds; | 506 typedef BoundsImpl<ZoneTypeConfig> Bounds; |
| 503 | 507 |
| 504 } } // namespace v8::internal | 508 } } // namespace v8::internal |
| 505 | 509 |
| 506 #endif // V8_TYPES_H_ | 510 #endif // V8_TYPES_H_ |
| OLD | NEW |