| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index 184cb42b2ee8f6ef9043b1892fb65c693ab51f9f..49519a267671d7aa615c379ff312d958973b4db9 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -832,6 +832,8 @@ class Heap {
|
|
|
| Object* weak_object_to_code_table() { return weak_object_to_code_table_; }
|
|
|
| + Object* embedded_map_cache() { return embedded_map_cache_; }
|
| +
|
| void set_encountered_weak_collections(Object* weak_collection) {
|
| encountered_weak_collections_ = weak_collection;
|
| }
|
| @@ -861,6 +863,7 @@ class Heap {
|
| // from start to end.
|
| void IterateAndMarkPointersToFromSpace(Address start, Address end,
|
| ObjectSlotCallback callback);
|
| + void IterateEmbeddedMapCache(ObjectVisitor* v);
|
|
|
| // Returns whether the object resides in new space.
|
| inline bool InNewSpace(Object* object);
|
| @@ -1398,8 +1401,12 @@ class Heap {
|
| set_weak_object_to_code_table(undefined_value());
|
| }
|
|
|
| + void InitializeEmbeddedMapCache() { embedded_map_cache_ = undefined_value(); }
|
| +
|
| void EnsureWeakObjectToCodeTable();
|
|
|
| + void CacheEmbeddedMap(Handle<Map> map);
|
| +
|
| static void FatalProcessOutOfMemory(const char* location,
|
| bool take_snapshot = false);
|
|
|
| @@ -1583,6 +1590,8 @@ class Heap {
|
| // start.
|
| Object* weak_object_to_code_table_;
|
|
|
| + Object* embedded_map_cache_;
|
| +
|
| // List of encountered weak collections (JSWeakMap and JSWeakSet) during
|
| // marking. It is initialized during marking, destroyed after marking and
|
| // contains Smi(0) while marking is not active.
|
| @@ -2001,6 +2010,8 @@ class Heap {
|
| return &weak_object_to_code_table_;
|
| }
|
|
|
| + Object** embedded_map_cache_address() { return &embedded_map_cache_; }
|
| +
|
| inline void UpdateAllocationsHash(HeapObject* object);
|
| inline void UpdateAllocationsHash(uint32_t value);
|
| inline void PrintAlloctionsHash();
|
|
|