| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index df3d2c674390cc404961e710934b3e261d476d64..7186bb6dac9e540e75d7c27fda50ccbf6fab9946 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -52,6 +52,7 @@ namespace internal {
|
| V(Map, fixed_cow_array_map, FixedCOWArrayMap) \
|
| V(Map, fixed_double_array_map, FixedDoubleArrayMap) \
|
| V(Map, constant_pool_array_map, ConstantPoolArrayMap) \
|
| + V(Map, weak_cell_map, WeakCellMap) \
|
| V(Oddball, no_interceptor_result_sentinel, NoInterceptorResultSentinel) \
|
| V(Map, hash_table_map, HashTableMap) \
|
| V(Map, ordered_hash_table_map, OrderedHashTableMap) \
|
| @@ -223,6 +224,7 @@ namespace internal {
|
| V(fixed_cow_array_map) \
|
| V(fixed_double_array_map) \
|
| V(constant_pool_array_map) \
|
| + V(weak_cell_map) \
|
| V(no_interceptor_result_sentinel) \
|
| V(hash_table_map) \
|
| V(ordered_hash_table_map) \
|
| @@ -829,6 +831,11 @@ class Heap {
|
| return encountered_weak_collections_;
|
| }
|
|
|
| + void set_encountered_weak_cells(Object* weak_cell) {
|
| + encountered_weak_cells_ = weak_cell;
|
| + }
|
| + Object* encountered_weak_cells() const { return encountered_weak_cells_; }
|
| +
|
| // Number of mark-sweeps.
|
| unsigned int ms_count() { return ms_count_; }
|
|
|
| @@ -1559,6 +1566,8 @@ class Heap {
|
| // contains Smi(0) while marking is not active.
|
| Object* encountered_weak_collections_;
|
|
|
| + Object* encountered_weak_cells_;
|
| +
|
| StoreBufferRebuilder store_buffer_rebuilder_;
|
|
|
| struct StringTypeTable {
|
| @@ -1839,6 +1848,8 @@ class Heap {
|
| // Allocate a tenured JS global property cell initialized with the hole.
|
| MUST_USE_RESULT AllocationResult AllocatePropertyCell();
|
|
|
| + MUST_USE_RESULT AllocationResult AllocateWeakCell(HeapObject* value);
|
| +
|
| // Allocates a new utility object in the old generation.
|
| MUST_USE_RESULT AllocationResult AllocateStruct(InstanceType type);
|
|
|
|
|