| Index: src/mark-compact.h
|
| diff --git a/src/mark-compact.h b/src/mark-compact.h
|
| index 0f20440062710bbc0e9108a7e1092476ac04cdbe..a7f37db8e68e160d29f73a1c4a70f33f6e046e44 100644
|
| --- a/src/mark-compact.h
|
| +++ b/src/mark-compact.h
|
| @@ -700,6 +700,13 @@ class MarkCompactCollector {
|
| encountered_weak_maps_ = weak_map;
|
| }
|
|
|
| + inline Object* encountered_array_buffers() {
|
| + return encountered_array_buffers_;
|
| + }
|
| + inline void set_encountered_array_buffers(Object* array_buffer) {
|
| + encountered_array_buffers_ = array_buffer;
|
| + }
|
| +
|
| void InvalidateCode(Code* code);
|
|
|
| void ClearMarkbits();
|
| @@ -810,6 +817,7 @@ class MarkCompactCollector {
|
| friend class MarkCompactMarkingVisitor;
|
| friend class CodeMarkingVisitor;
|
| friend class SharedFunctionInfoMarkingVisitor;
|
| + friend class IncrementalMarking;
|
|
|
| // Mark code objects that are active on the stack to prevent them
|
| // from being flushed.
|
| @@ -894,6 +902,9 @@ class MarkCompactCollector {
|
| // The linked list of all encountered weak maps is destroyed.
|
| void ClearWeakMaps();
|
|
|
| + void ProcessArrayBuffers();
|
| + void ClearArrayBuffersOnAbort();
|
| +
|
| // -----------------------------------------------------------------------
|
| // Phase 2: Sweeping to clear mark bits and free non-live objects for
|
| // a non-compacting collection.
|
| @@ -932,6 +943,7 @@ class MarkCompactCollector {
|
| MarkingDeque marking_deque_;
|
| CodeFlusher* code_flusher_;
|
| Object* encountered_weak_maps_;
|
| + Object* encountered_array_buffers_;
|
|
|
| List<Page*> evacuation_candidates_;
|
| List<Code*> invalidated_code_;
|
|
|