| Index: src/mark-compact.cc
|
| ===================================================================
|
| --- src/mark-compact.cc (revision 10386)
|
| +++ src/mark-compact.cc (working copy)
|
| @@ -2100,6 +2100,24 @@
|
|
|
| PrepareForCodeFlushing();
|
|
|
| + if (was_marked_incrementally_) {
|
| + // There is no write barrier on cells so we have to scan them now at the end
|
| + // of the incremental marking.
|
| + {
|
| + 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);
|
|
|
|
|