Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index ebd0e1e656a5d535a892cd1fc532ebe3c3435e07..d813ed1dfd3e8695f0eaf3257f432d5074aa4f9b 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -681,33 +681,11 @@ void Heap::Scavenge() { |
// Copy objects reachable from weak pointers. |
GlobalHandles::IterateWeakRoots(&scavenge_visitor); |
-#ifdef V8_HOST_ARCH_64_BIT |
- // TODO(X64): Make this go away again. We currently disable RSets for |
- // 64-bit-mode. |
- HeapObjectIterator old_pointer_iterator(old_pointer_space_); |
- while (old_pointer_iterator.has_next()) { |
- HeapObject* heap_object = old_pointer_iterator.next(); |
- heap_object->Iterate(&scavenge_visitor); |
- } |
- HeapObjectIterator map_iterator(map_space_); |
- while (map_iterator.has_next()) { |
- HeapObject* heap_object = map_iterator.next(); |
- heap_object->Iterate(&scavenge_visitor); |
- } |
- LargeObjectIterator lo_iterator(lo_space_); |
- while (lo_iterator.has_next()) { |
- HeapObject* heap_object = lo_iterator.next(); |
- if (heap_object->IsFixedArray()) { |
- heap_object->Iterate(&scavenge_visitor); |
- } |
- } |
-#else // !defined(V8_HOST_ARCH_64_BIT) |
// Copy objects reachable from the old generation. By definition, |
// there are no intergenerational pointers in code or data spaces. |
IterateRSet(old_pointer_space_, &ScavengePointer); |
IterateRSet(map_space_, &ScavengePointer); |
lo_space_->IterateRSet(&ScavengePointer); |
-#endif |
// Copy objects reachable from cells by scavenging cell values directly. |
HeapObjectIterator cell_iterator(cell_space_); |
@@ -830,13 +808,11 @@ class UpdateRSetVisitor: public ObjectVisitor { |
int Heap::UpdateRSet(HeapObject* obj) { |
-#ifndef V8_HOST_ARCH_64_BIT |
- // TODO(X64) Reenable RSet when we have a working 64-bit layout of Page. |
ASSERT(!InNewSpace(obj)); |
// Special handling of fixed arrays to iterate the body based on the start |
// address and offset. Just iterating the pointers as in UpdateRSetVisitor |
// will not work because Page::SetRSet needs to have the start of the |
- // object. |
+ // object for large object pages. |
if (obj->IsFixedArray()) { |
FixedArray* array = FixedArray::cast(obj); |
int length = array->length(); |
@@ -853,7 +829,6 @@ int Heap::UpdateRSet(HeapObject* obj) { |
UpdateRSetVisitor v; |
obj->Iterate(&v); |
} |
-#endif // V8_HOST_ARCH_64_BIT |
return obj->Size(); |
} |