| 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 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 9662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9673 | 9673 |
| 9674 // [is_private]: Whether this is a private symbol. Private symbols can only | 9674 // [is_private]: Whether this is a private symbol. Private symbols can only |
| 9675 // be used to designate own properties of objects. | 9675 // be used to designate own properties of objects. |
| 9676 DECL_BOOLEAN_ACCESSORS(is_private) | 9676 DECL_BOOLEAN_ACCESSORS(is_private) |
| 9677 | 9677 |
| 9678 // [is_well_known_symbol]: Whether this is a spec-defined well-known symbol, | 9678 // [is_well_known_symbol]: Whether this is a spec-defined well-known symbol, |
| 9679 // or not. Well-known symbols do not throw when an access check fails during | 9679 // or not. Well-known symbols do not throw when an access check fails during |
| 9680 // a load. | 9680 // a load. |
| 9681 DECL_BOOLEAN_ACCESSORS(is_well_known_symbol) | 9681 DECL_BOOLEAN_ACCESSORS(is_well_known_symbol) |
| 9682 | 9682 |
| 9683 // [is_public]: Whether this is a symbol created by Symbol.for. Calling |
| 9684 // Symbol.keyFor on such a symbol simply needs to return the attached name. |
| 9685 DECL_BOOLEAN_ACCESSORS(is_public) |
| 9686 |
| 9683 DECLARE_CAST(Symbol) | 9687 DECLARE_CAST(Symbol) |
| 9684 | 9688 |
| 9685 // Dispatched behavior. | 9689 // Dispatched behavior. |
| 9686 DECLARE_PRINTER(Symbol) | 9690 DECLARE_PRINTER(Symbol) |
| 9687 DECLARE_VERIFIER(Symbol) | 9691 DECLARE_VERIFIER(Symbol) |
| 9688 | 9692 |
| 9689 // Layout description. | 9693 // Layout description. |
| 9690 static const int kNameOffset = Name::kSize; | 9694 static const int kNameOffset = Name::kSize; |
| 9691 static const int kFlagsOffset = kNameOffset + kPointerSize; | 9695 static const int kFlagsOffset = kNameOffset + kPointerSize; |
| 9692 static const int kSize = kFlagsOffset + kPointerSize; | 9696 static const int kSize = kFlagsOffset + kPointerSize; |
| 9693 | 9697 |
| 9694 // Flags layout. | 9698 // Flags layout. |
| 9695 static const int kPrivateBit = 0; | 9699 static const int kPrivateBit = 0; |
| 9696 static const int kWellKnownSymbolBit = 1; | 9700 static const int kWellKnownSymbolBit = 1; |
| 9701 static const int kPublicBit = 2; |
| 9697 | 9702 |
| 9698 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; | 9703 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; |
| 9699 | 9704 |
| 9700 void SymbolShortPrint(std::ostream& os); | 9705 void SymbolShortPrint(std::ostream& os); |
| 9701 | 9706 |
| 9702 private: | 9707 private: |
| 9703 const char* PrivateSymbolToName() const; | 9708 const char* PrivateSymbolToName() const; |
| 9704 | 9709 |
| 9705 #if TRACE_MAPS | 9710 #if TRACE_MAPS |
| 9706 friend class Name; // For PrivateSymbolToName. | 9711 friend class Name; // For PrivateSymbolToName. |
| (...skipping 2276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11983 } | 11988 } |
| 11984 return value; | 11989 return value; |
| 11985 } | 11990 } |
| 11986 }; | 11991 }; |
| 11987 | 11992 |
| 11988 | 11993 |
| 11989 } // NOLINT, false-positive due to second-order macros. | 11994 } // NOLINT, false-positive due to second-order macros. |
| 11990 } // NOLINT, false-positive due to second-order macros. | 11995 } // NOLINT, false-positive due to second-order macros. |
| 11991 | 11996 |
| 11992 #endif // V8_OBJECTS_H_ | 11997 #endif // V8_OBJECTS_H_ |
| OLD | NEW |