Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 8764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8775 static inline bool IsHashFieldComputed(uint32_t field); | 8775 static inline bool IsHashFieldComputed(uint32_t field); |
| 8776 | 8776 |
| 8777 private: | 8777 private: |
| 8778 DISALLOW_IMPLICIT_CONSTRUCTORS(Name); | 8778 DISALLOW_IMPLICIT_CONSTRUCTORS(Name); |
| 8779 }; | 8779 }; |
| 8780 | 8780 |
| 8781 | 8781 |
| 8782 // ES6 symbols. | 8782 // ES6 symbols. |
| 8783 class Symbol: public Name { | 8783 class Symbol: public Name { |
| 8784 public: | 8784 public: |
| 8785 // [name]: the print name of a symbol, or undefined if none. | 8785 DECL_ACCESSORS(flags, Smi) |
| 8786 | |
| 8787 // [name]: the print name of a symbol, or undefined if none | |
| 8786 DECL_ACCESSORS(name, Object) | 8788 DECL_ACCESSORS(name, Object) |
| 8787 | 8789 |
| 8788 DECL_ACCESSORS(flags, Smi) | |
| 8789 | |
| 8790 // [is_private]: whether this is a private symbol. | 8790 // [is_private]: whether this is a private symbol. |
| 8791 DECL_BOOLEAN_ACCESSORS(is_private) | 8791 DECL_BOOLEAN_ACCESSORS(is_private) |
| 8792 | 8792 |
| 8793 // [is_own]: whether this is an own symbol, that is, only used to designate | 8793 // [is_own]: whether this is an own symbol, that is, only used to designate |
| 8794 // own properties of objects. | 8794 // own properties of objects. |
| 8795 DECL_BOOLEAN_ACCESSORS(is_own) | 8795 DECL_BOOLEAN_ACCESSORS(is_own) |
| 8796 | 8796 |
| 8797 DECLARE_CAST(Symbol) | 8797 DECLARE_CAST(Symbol) |
| 8798 | 8798 |
| 8799 // Dispatched behavior. | 8799 // Dispatched behavior. |
| 8800 DECLARE_PRINTER(Symbol) | 8800 DECLARE_PRINTER(Symbol) |
| 8801 DECLARE_VERIFIER(Symbol) | 8801 DECLARE_VERIFIER(Symbol) |
| 8802 | 8802 |
| 8803 // Layout description. | 8803 // Layout description. |
| 8804 static const int kNameOffset = Name::kSize; | 8804 static const int kFlagsOffset = Name::kSize; |
|
Toon Verwaest
2015/03/11 17:55:02
Is this still necessary?
[At this point haven't lo
mvstanton
2015/03/12 17:05:34
Yes, I still want to do something in here but I'll
| |
| 8805 static const int kFlagsOffset = kNameOffset + kPointerSize; | 8805 static const int kNameOffset = kFlagsOffset + kPointerSize; |
| 8806 static const int kSize = kFlagsOffset + kPointerSize; | 8806 static const int kSize = kNameOffset + kPointerSize; |
| 8807 | 8807 |
| 8808 typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor; | 8808 typedef FixedBodyDescriptor<kFlagsOffset, kNameOffset + kPointerSize, kSize> |
| 8809 BodyDescriptor; | |
| 8809 | 8810 |
| 8810 void SymbolShortPrint(std::ostream& os); | 8811 void SymbolShortPrint(std::ostream& os); |
| 8811 | 8812 |
| 8812 private: | 8813 private: |
| 8813 static const int kPrivateBit = 0; | 8814 static const int kPrivateBit = 0; |
| 8814 static const int kOwnBit = 1; | 8815 static const int kOwnBit = 1; |
| 8815 | 8816 |
| 8816 const char* PrivateSymbolToName() const; | 8817 const char* PrivateSymbolToName() const; |
| 8817 | 8818 |
| 8818 #if TRACE_MAPS | 8819 #if TRACE_MAPS |
| (...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 10983 } else { | 10984 } else { |
| 10984 value &= ~(1 << bit_position); | 10985 value &= ~(1 << bit_position); |
| 10985 } | 10986 } |
| 10986 return value; | 10987 return value; |
| 10987 } | 10988 } |
| 10988 }; | 10989 }; |
| 10989 | 10990 |
| 10990 } } // namespace v8::internal | 10991 } } // namespace v8::internal |
| 10991 | 10992 |
| 10992 #endif // V8_OBJECTS_H_ | 10993 #endif // V8_OBJECTS_H_ |
| OLD | NEW |