Index: src/spaces.cc |
diff --git a/src/spaces.cc b/src/spaces.cc |
index 739154ca55c23474685ad77457b336df08d1e774..c541a65666244152a20a96893f3df1c8c002ad93 100644 |
--- a/src/spaces.cc |
+++ b/src/spaces.cc |
@@ -1559,6 +1559,7 @@ MaybeObject* OldSpaceFreeList::Allocate(int size_in_bytes, int* wasted_bytes) { |
void OldSpaceFreeList::MarkNodes() { |
+#if 0 |
for (int i = 0; i < kFreeListsLength; i++) { |
Address cur_addr = free_[i].head_node_; |
while (cur_addr != NULL) { |
@@ -1567,6 +1568,8 @@ void OldSpaceFreeList::MarkNodes() { |
cur_node->SetMark(); |
} |
} |
+#endif |
+ UNREACHABLE(); |
} |
@@ -1630,12 +1633,15 @@ MaybeObject* FixedSizeFreeList::Allocate() { |
void FixedSizeFreeList::MarkNodes() { |
+#if 0 |
Address cur_addr = head_; |
while (cur_addr != NULL && cur_addr != tail_) { |
FreeListNode* cur_node = FreeListNode::FromAddress(cur_addr); |
cur_addr = cur_node->next(); |
cur_node->SetMark(); |
} |
+#endif |
+ UNREACHABLE(); |
} |
@@ -1697,6 +1703,7 @@ void PagedSpace::FreePages(Page* prev, Page* last) { |
first->SetAllocationWatermark(first->ObjectAreaStart()); |
first->SetCachedAllocationWatermark(first->ObjectAreaStart()); |
first->SetRegionMarks(Page::kAllRegionsCleanMarks); |
+ first->markbits()->Clear(); |
first = first->next_page(); |
} while (first != NULL); |
} |
@@ -2328,8 +2335,8 @@ void LargeObjectSpace::FreeUnmarkedObjects() { |
LargePage* current = first_page_; |
while (current != NULL) { |
HeapObject* object = current->GetObject(); |
- if (object->IsMarked()) { |
- object->ClearMark(); |
+ if (Marking::IsMarked(object)) { |
+ Marking::ClearMark(object); |
MarkCompactCollector::tracer()->decrement_marked_count(); |
previous = current; |
current = current->next_page(); |