Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 4a76777ecd06727983709105fdc1439acb2515b8..4c8ea48c0e3f582c024e986ac86f24840bfa573d 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -403,6 +403,7 @@ enum ArrayStorageAllocationMode { |
INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE |
}; |
+enum class ClearRecordedSlots { kYes, kNo }; |
class Heap { |
public: |
@@ -632,8 +633,10 @@ class Heap { |
void MoveElements(FixedArray* array, int dst_index, int src_index, int len); |
// Initialize a filler object to keep the ability to iterate over the heap |
- // when introducing gaps within pages. |
- void CreateFillerObjectAt(Address addr, int size); |
+ // when introducing gaps within pages. If slots could have been recorded in |
+ // the freed area, then pass ClearRecordedSlots::kYes as the mode. Otherwise, |
+ // pass ClearRecordedSlots::kNo. |
+ void CreateFillerObjectAt(Address addr, int size, ClearRecordedSlots mode); |
bool CanMoveObjectStart(HeapObject* object); |
@@ -1060,7 +1063,7 @@ class Heap { |
} |
void ClearRecordedSlot(HeapObject* object, Object** slot); |
- void ClearRecordedSlotRange(HeapObject* object, Object** start, Object** end); |
+ void ClearRecordedSlotRange(Address start, Address end); |
// =========================================================================== |
// Incremental marking API. ================================================== |