OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1002 | 1002 |
1003 #define ODDBALL_LIST(V) \ | 1003 #define ODDBALL_LIST(V) \ |
1004 V(Undefined) \ | 1004 V(Undefined) \ |
1005 V(Null) \ | 1005 V(Null) \ |
1006 V(TheHole) \ | 1006 V(TheHole) \ |
1007 V(Exception) \ | 1007 V(Exception) \ |
1008 V(Uninitialized) \ | 1008 V(Uninitialized) \ |
1009 V(True) \ | 1009 V(True) \ |
1010 V(False) \ | 1010 V(False) \ |
1011 V(ArgumentsMarker) \ | 1011 V(ArgumentsMarker) \ |
1012 V(OptimizedOut) | 1012 V(OptimizedOut) \ |
| 1013 V(StaleRegister) |
1013 | 1014 |
1014 // The element types selection for CreateListFromArrayLike. | 1015 // The element types selection for CreateListFromArrayLike. |
1015 enum class ElementTypes { kAll, kStringAndSymbol }; | 1016 enum class ElementTypes { kAll, kStringAndSymbol }; |
1016 | 1017 |
1017 // Object is the abstract superclass for all classes in the | 1018 // Object is the abstract superclass for all classes in the |
1018 // object hierarchy. | 1019 // object hierarchy. |
1019 // Object does not use any virtual functions to avoid the | 1020 // Object does not use any virtual functions to avoid the |
1020 // allocation of the C++ vtable. | 1021 // allocation of the C++ vtable. |
1021 // Since both Smi and HeapObject are subclasses of Object no | 1022 // Since both Smi and HeapObject are subclasses of Object no |
1022 // data members can be present in Object. | 1023 // data members can be present in Object. |
(...skipping 8463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9486 static const byte kTrue = 1; | 9487 static const byte kTrue = 1; |
9487 static const byte kNotBooleanMask = ~1; | 9488 static const byte kNotBooleanMask = ~1; |
9488 static const byte kTheHole = 2; | 9489 static const byte kTheHole = 2; |
9489 static const byte kNull = 3; | 9490 static const byte kNull = 3; |
9490 static const byte kArgumentsMarker = 4; | 9491 static const byte kArgumentsMarker = 4; |
9491 static const byte kUndefined = 5; | 9492 static const byte kUndefined = 5; |
9492 static const byte kUninitialized = 6; | 9493 static const byte kUninitialized = 6; |
9493 static const byte kOther = 7; | 9494 static const byte kOther = 7; |
9494 static const byte kException = 8; | 9495 static const byte kException = 8; |
9495 static const byte kOptimizedOut = 9; | 9496 static const byte kOptimizedOut = 9; |
| 9497 static const byte kStaleRegister = 10; |
9496 | 9498 |
9497 typedef FixedBodyDescriptor<kToStringOffset, kTypeOfOffset + kPointerSize, | 9499 typedef FixedBodyDescriptor<kToStringOffset, kTypeOfOffset + kPointerSize, |
9498 kSize> BodyDescriptor; | 9500 kSize> BodyDescriptor; |
9499 | 9501 |
9500 STATIC_ASSERT(kToNumberRawOffset == HeapNumber::kValueOffset); | 9502 STATIC_ASSERT(kToNumberRawOffset == HeapNumber::kValueOffset); |
9501 STATIC_ASSERT(kKindOffset == Internals::kOddballKindOffset); | 9503 STATIC_ASSERT(kKindOffset == Internals::kOddballKindOffset); |
9502 STATIC_ASSERT(kNull == Internals::kNullOddballKind); | 9504 STATIC_ASSERT(kNull == Internals::kNullOddballKind); |
9503 STATIC_ASSERT(kUndefined == Internals::kUndefinedOddballKind); | 9505 STATIC_ASSERT(kUndefined == Internals::kUndefinedOddballKind); |
9504 | 9506 |
9505 private: | 9507 private: |
(...skipping 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10790 } | 10792 } |
10791 return value; | 10793 return value; |
10792 } | 10794 } |
10793 }; | 10795 }; |
10794 | 10796 |
10795 | 10797 |
10796 } // NOLINT, false-positive due to second-order macros. | 10798 } // NOLINT, false-positive due to second-order macros. |
10797 } // NOLINT, false-positive due to second-order macros. | 10799 } // NOLINT, false-positive due to second-order macros. |
10798 | 10800 |
10799 #endif // V8_OBJECTS_H_ | 10801 #endif // V8_OBJECTS_H_ |
OLD | NEW |