Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 4a76777ecd06727983709105fdc1439acb2515b8..b6f09e2f81a0bffb07049f56a2b104020c4438c3 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -403,6 +403,7 @@ enum ArrayStorageAllocationMode { |
INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE |
}; |
+enum RecordedSlotsMode { kClearRecordedSlots, kNoRecordedSlots }; |
jochen (gone - plz use gerrit)
2016/02/25 13:49:57
what about making this an enum class? enum class C
ulan
2016/02/25 14:05:14
Nice trick! Done.
|
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 kClearRecordedSlots as the mode. Otherwise, |
+ // pass kNoRecordedSlots. |
+ void CreateFillerObjectAt(Address addr, int size, RecordedSlotsMode 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. ================================================== |