From: hpayer@chromium.org Date: Fri, 23 Nov 2012 12:22:16 +0000 (+0000) Subject: Reset progress bar of object to 0 when RecordWrites changes object color to grey. X-Git-Tag: upstream/4.7.83~15580 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bbb6d45088e2d45bbed2d15aba33071c6aa3b150;p=platform%2Fupstream%2Fv8.git Reset progress bar of object to 0 when RecordWrites changes object color to grey. BUG=v8:2423 Review URL: https://codereview.chromium.org/11308177 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/incremental-marking-inl.h b/src/incremental-marking-inl.h index 1e28e4a..8c64978 100644 --- a/src/incremental-marking-inl.h +++ b/src/incremental-marking-inl.h @@ -90,6 +90,10 @@ void IncrementalMarking::RecordWrites(HeapObject* obj) { if (IsMarking()) { MarkBit obj_bit = Marking::MarkBitFrom(obj); if (Marking::IsBlack(obj_bit)) { + MemoryChunk* chunk = MemoryChunk::FromAddress(obj->address()); + if (chunk->IsFlagSet(MemoryChunk::HAS_PROGRESS_BAR)) { + chunk->set_progress_bar(0); + } BlackToGreyAndUnshift(obj, obj_bit); RestartIfNotMarking(); }