Index: src/heap-inl.h |
diff --git a/src/heap-inl.h b/src/heap-inl.h |
index f18bf0f61b69b6811cfe9844477993e29d54b71c..1acdb2a081be9e6196ac99c991c7a0fa0aa3fee0 100644 |
--- a/src/heap-inl.h |
+++ b/src/heap-inl.h |
@@ -187,6 +187,18 @@ void Heap::RecordWrite(Address address, int offset) { |
} |
+void Heap::RecordWrites(Address address, int start, int len) { |
+ if (new_space_.Contains(address)) return; |
+ ASSERT(!new_space_.FromSpaceContains(address)); |
+ for (int offset = start; |
+ offset < start + len * kPointerSize; |
+ offset += kPointerSize) { |
+ SLOW_ASSERT(Contains(address + offset)); |
+ Page::SetRSet(address, offset); |
+ } |
+} |
+ |
+ |
OldSpace* Heap::TargetSpace(HeapObject* object) { |
InstanceType type = object->map()->instance_type(); |
AllocationSpace space = TargetSpaceId(type); |