| Index: src/heap.cc
|
| diff --git a/src/heap.cc b/src/heap.cc
|
| index fa358c53929127218fbd4fd719d5bec8d3bab3b0..9c7c8483f7b7527496de6810f08b3164aff4a9d8 100644
|
| --- a/src/heap.cc
|
| +++ b/src/heap.cc
|
| @@ -3282,11 +3282,13 @@ bool Heap::CreateInitialObjects() {
|
| { MaybeObject* maybe_obj = AllocateSymbol();
|
| if (!maybe_obj->ToObject(&obj)) return false;
|
| }
|
| + Symbol::cast(obj)->set_is_private(true);
|
| set_frozen_symbol(Symbol::cast(obj));
|
|
|
| { MaybeObject* maybe_obj = AllocateSymbol();
|
| if (!maybe_obj->ToObject(&obj)) return false;
|
| }
|
| + Symbol::cast(obj)->set_is_private(true);
|
| set_elements_transition_symbol(Symbol::cast(obj));
|
|
|
| { MaybeObject* maybe_obj = SeededNumberDictionary::Allocate(this, 0, TENURED);
|
| @@ -3298,6 +3300,7 @@ bool Heap::CreateInitialObjects() {
|
| { MaybeObject* maybe_obj = AllocateSymbol();
|
| if (!maybe_obj->ToObject(&obj)) return false;
|
| }
|
| + Symbol::cast(obj)->set_is_private(true);
|
| set_observed_symbol(Symbol::cast(obj));
|
|
|
| // Handling of script id generation is in Factory::NewScript.
|
| @@ -5595,12 +5598,22 @@ MaybeObject* Heap::AllocateSymbol() {
|
| Symbol::cast(result)->set_hash_field(
|
| Name::kIsNotArrayIndexMask | (hash << Name::kHashShift));
|
| Symbol::cast(result)->set_name(undefined_value());
|
| + Symbol::cast(result)->set_flags(Smi::FromInt(0));
|
|
|
| - ASSERT(result->IsSymbol());
|
| + ASSERT(!Symbol::cast(result)->is_private());
|
| return result;
|
| }
|
|
|
|
|
| +MaybeObject* Heap::AllocatePrivateSymbol() {
|
| + MaybeObject* maybe = AllocateSymbol();
|
| + Symbol* symbol;
|
| + if (!maybe->To(&symbol)) return maybe;
|
| + symbol->set_is_private(true);
|
| + return symbol;
|
| +}
|
| +
|
| +
|
| MaybeObject* Heap::AllocateNativeContext() {
|
| Object* result;
|
| { MaybeObject* maybe_result =
|
|
|