Chromium Code Reviews| Index: src/mark-compact.cc |
| =================================================================== |
| --- src/mark-compact.cc (revision 10174) |
| +++ src/mark-compact.cc (working copy) |
| @@ -2081,6 +2081,22 @@ |
| PrepareForCodeFlushing(); |
| + // There is no write barrier on cells so we have to scan them now at the end |
| + // of the incremental sweeping. |
|
Vyacheslav Egorov (Chromium)
2011/12/06 15:28:15
at the end of incremental marking
|
| + { |
|
Vyacheslav Egorov (Chromium)
2011/12/06 15:28:15
Please check that we actually _had_ incremental ma
|
| + HeapObjectIterator cell_iterator(heap()->cell_space()); |
| + HeapObject* cell; |
| + while ((cell = cell_iterator.Next()) != NULL) { |
| + ASSERT(cell->IsJSGlobalPropertyCell()); |
| + if (IsMarked(cell)) { |
| + int offset = JSGlobalPropertyCell::kValueOffset; |
| + StaticMarkingVisitor::VisitPointer( |
| + heap(), |
| + reinterpret_cast<Object**>(cell->address() + offset)); |
| + } |
| + } |
| + } |
| + |
| RootMarkingVisitor root_visitor(heap()); |
| MarkRoots(&root_visitor); |