Index: src/heap/mark-compact-inl.h |
diff --git a/src/heap/mark-compact-inl.h b/src/heap/mark-compact-inl.h |
index f117acee9b12f8a28d0af898eb0bcb04176cf715..9cc7d7c39e57ceb75f5bb78eb3293f26a2c160cb 100644 |
--- a/src/heap/mark-compact-inl.h |
+++ b/src/heap/mark-compact-inl.h |
@@ -6,7 +6,7 @@ |
#define V8_HEAP_MARK_COMPACT_INL_H_ |
#include "src/heap/mark-compact.h" |
-#include "src/heap/slots-buffer.h" |
+#include "src/heap/remembered-set.h" |
#include "src/isolate.h" |
namespace v8 { |
@@ -70,25 +70,11 @@ bool MarkCompactCollector::IsMarked(Object* obj) { |
void MarkCompactCollector::RecordSlot(HeapObject* object, Object** slot, |
Object* target) { |
Page* target_page = Page::FromAddress(reinterpret_cast<Address>(target)); |
+ Page* source_page = Page::FromAddress(reinterpret_cast<Address>(object)); |
if (target_page->IsEvacuationCandidate() && |
!ShouldSkipEvacuationSlotRecording(object)) { |
- if (!SlotsBuffer::AddTo(slots_buffer_allocator_, |
- target_page->slots_buffer_address(), slot, |
- SlotsBuffer::FAIL_ON_OVERFLOW)) { |
- EvictPopularEvacuationCandidate(target_page); |
- } |
- } |
-} |
- |
- |
-void MarkCompactCollector::ForceRecordSlot(HeapObject* object, Object** slot, |
- Object* target) { |
- Page* target_page = Page::FromAddress(reinterpret_cast<Address>(target)); |
- if (target_page->IsEvacuationCandidate() && |
- !ShouldSkipEvacuationSlotRecording(object)) { |
- CHECK(SlotsBuffer::AddTo(slots_buffer_allocator_, |
- target_page->slots_buffer_address(), slot, |
- SlotsBuffer::IGNORE_OVERFLOW)); |
+ RememberedSet<OLD_TO_OLD>::Insert(source_page, |
+ reinterpret_cast<Address>(slot)); |
} |
} |