| Index: src/heap/heap.h
|
| diff --git a/src/heap/heap.h b/src/heap/heap.h
|
| index a7f3850044a6f1de34857a66d24e8f585317785e..b9b058c1cdb846a4a9a4158b7286104b4f3373d5 100644
|
| --- a/src/heap/heap.h
|
| +++ b/src/heap/heap.h
|
| @@ -450,6 +450,8 @@ enum ArrayStorageAllocationMode {
|
|
|
| enum class ClearRecordedSlots { kYes, kNo };
|
|
|
| +enum class ClearBlackArea { kYes, kNo };
|
| +
|
| class Heap {
|
| public:
|
| // Declare all the root indices. This defines the root list order.
|
| @@ -673,8 +675,12 @@ class Heap {
|
| // Initialize a filler object to keep the ability to iterate over the heap
|
| // 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);
|
| + // pass ClearRecordedSlots::kNo. If the filler was created in a black area
|
| + // we may want to clear the corresponding mark bits with ClearBlackArea::kYes,
|
| + // which is the default. ClearBlackArea::kNo does not clear the mark bits.
|
| + void CreateFillerObjectAt(
|
| + Address addr, int size, ClearRecordedSlots mode,
|
| + ClearBlackArea black_area_mode = ClearBlackArea::kYes);
|
|
|
| bool CanMoveObjectStart(HeapObject* object);
|
|
|
|
|