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 986 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
997 V(OrderedHashTable) | 997 V(OrderedHashTable) |
998 | 998 |
999 #define ODDBALL_LIST(V) \ | 999 #define ODDBALL_LIST(V) \ |
1000 V(Undefined) \ | 1000 V(Undefined) \ |
1001 V(Null) \ | 1001 V(Null) \ |
1002 V(TheHole) \ | 1002 V(TheHole) \ |
1003 V(Exception) \ | 1003 V(Exception) \ |
1004 V(Uninitialized) \ | 1004 V(Uninitialized) \ |
1005 V(True) \ | 1005 V(True) \ |
1006 V(False) \ | 1006 V(False) \ |
1007 V(ArgumentsMarker) | 1007 V(ArgumentsMarker) \ |
| 1008 V(OptimizedOut) |
1008 | 1009 |
1009 // The element types selection for CreateListFromArrayLike. | 1010 // The element types selection for CreateListFromArrayLike. |
1010 enum class ElementTypes { kAll, kStringAndSymbol }; | 1011 enum class ElementTypes { kAll, kStringAndSymbol }; |
1011 | 1012 |
1012 // Object is the abstract superclass for all classes in the | 1013 // Object is the abstract superclass for all classes in the |
1013 // object hierarchy. | 1014 // object hierarchy. |
1014 // Object does not use any virtual functions to avoid the | 1015 // Object does not use any virtual functions to avoid the |
1015 // allocation of the C++ vtable. | 1016 // allocation of the C++ vtable. |
1016 // Since both Smi and HeapObject are subclasses of Object no | 1017 // Since both Smi and HeapObject are subclasses of Object no |
1017 // data members can be present in Object. | 1018 // data members can be present in Object. |
(...skipping 8573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9591 static const byte kFalse = 0; | 9592 static const byte kFalse = 0; |
9592 static const byte kTrue = 1; | 9593 static const byte kTrue = 1; |
9593 static const byte kNotBooleanMask = ~1; | 9594 static const byte kNotBooleanMask = ~1; |
9594 static const byte kTheHole = 2; | 9595 static const byte kTheHole = 2; |
9595 static const byte kNull = 3; | 9596 static const byte kNull = 3; |
9596 static const byte kArgumentsMarker = 4; | 9597 static const byte kArgumentsMarker = 4; |
9597 static const byte kUndefined = 5; | 9598 static const byte kUndefined = 5; |
9598 static const byte kUninitialized = 6; | 9599 static const byte kUninitialized = 6; |
9599 static const byte kOther = 7; | 9600 static const byte kOther = 7; |
9600 static const byte kException = 8; | 9601 static const byte kException = 8; |
| 9602 static const byte kOptimizedOut = 9; |
9601 | 9603 |
9602 typedef FixedBodyDescriptor<kToStringOffset, kTypeOfOffset + kPointerSize, | 9604 typedef FixedBodyDescriptor<kToStringOffset, kTypeOfOffset + kPointerSize, |
9603 kSize> BodyDescriptor; | 9605 kSize> BodyDescriptor; |
9604 | 9606 |
9605 STATIC_ASSERT(kKindOffset == Internals::kOddballKindOffset); | 9607 STATIC_ASSERT(kKindOffset == Internals::kOddballKindOffset); |
9606 STATIC_ASSERT(kNull == Internals::kNullOddballKind); | 9608 STATIC_ASSERT(kNull == Internals::kNullOddballKind); |
9607 STATIC_ASSERT(kUndefined == Internals::kUndefinedOddballKind); | 9609 STATIC_ASSERT(kUndefined == Internals::kUndefinedOddballKind); |
9608 | 9610 |
9609 private: | 9611 private: |
9610 DISALLOW_IMPLICIT_CONSTRUCTORS(Oddball); | 9612 DISALLOW_IMPLICIT_CONSTRUCTORS(Oddball); |
(...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10888 } | 10890 } |
10889 return value; | 10891 return value; |
10890 } | 10892 } |
10891 }; | 10893 }; |
10892 | 10894 |
10893 | 10895 |
10894 } // NOLINT, false-positive due to second-order macros. | 10896 } // NOLINT, false-positive due to second-order macros. |
10895 } // NOLINT, false-positive due to second-order macros. | 10897 } // NOLINT, false-positive due to second-order macros. |
10896 | 10898 |
10897 #endif // V8_OBJECTS_H_ | 10899 #endif // V8_OBJECTS_H_ |
OLD | NEW |