Index: src/heap.h |
diff --git a/src/heap.h b/src/heap.h |
index 8956e3c56b50f31af04c57a3caf9669d4c58f3f2..9e5b6a55253552b979e2315a365189034615b02e 100644 |
--- a/src/heap.h |
+++ b/src/heap.h |
@@ -849,6 +849,13 @@ class Heap { |
Object* weak_object_to_code_table() { return weak_object_to_code_table_; } |
+ void set_encountered_weak_collections(Object* weak_collection) { |
+ encountered_weak_collections_ = weak_collection; |
+ } |
+ Object* encountered_weak_collections() const { |
+ return encountered_weak_collections_; |
+ } |
+ |
// Number of mark-sweeps. |
unsigned int ms_count() { return ms_count_; } |
@@ -1605,6 +1612,11 @@ class Heap { |
// start. |
Object* weak_object_to_code_table_; |
+ // 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. |
+ Object* encountered_weak_collections_; |
+ |
StoreBufferRebuilder store_buffer_rebuilder_; |
struct StringTypeTable { |