| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index c0835e21eb9cb5d3df0d1f5ad1e464b6d4022323..bd9689122095d6c5dfd2e49c10c8172f81ffa90c 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -359,6 +359,7 @@ const int kStubMinorKeyBits = kBitsPerInt - kSmiTagSize - kStubMajorKeyBits;
|
| V(SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE) \
|
| \
|
| V(SYMBOL_TYPE) \
|
| + \
|
| V(MAP_TYPE) \
|
| V(CODE_TYPE) \
|
| V(ODDBALL_TYPE) \
|
| @@ -691,7 +692,7 @@ enum InstanceType {
|
| | kNotInternalizedTag,
|
|
|
| // Non-string names
|
| - SYMBOL_TYPE = kNotStringTag, // LAST_NAME_TYPE, FIRST_NONSTRING_TYPE
|
| + SYMBOL_TYPE = kNotStringTag, // FIRST_NONSTRING_TYPE, LAST_NAME_TYPE
|
|
|
| // Objects allocated in their own spaces (never in new space).
|
| MAP_TYPE,
|
| @@ -8336,6 +8337,11 @@ class Symbol: public Name {
|
| // [name]: the print name of a symbol, or undefined if none.
|
| DECL_ACCESSORS(name, Object)
|
|
|
| + DECL_ACCESSORS(flags, Smi)
|
| +
|
| + // [is_private]: whether this is a private symbol.
|
| + DECL_BOOLEAN_ACCESSORS(is_private)
|
| +
|
| // Casting.
|
| static inline Symbol* cast(Object* obj);
|
|
|
| @@ -8345,12 +8351,14 @@ class Symbol: public Name {
|
|
|
| // Layout description.
|
| static const int kNameOffset = Name::kSize;
|
| - static const int kSize = kNameOffset + kPointerSize;
|
| + static const int kFlagsOffset = kNameOffset + kPointerSize;
|
| + static const int kSize = kFlagsOffset + kPointerSize;
|
|
|
| - typedef FixedBodyDescriptor<kNameOffset, kNameOffset + kPointerSize, kSize>
|
| - BodyDescriptor;
|
| + typedef FixedBodyDescriptor<kNameOffset, kFlagsOffset, kSize> BodyDescriptor;
|
|
|
| private:
|
| + static const int kPrivateBit = 0;
|
| +
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(Symbol);
|
| };
|
|
|
|
|