From 68b8a508431e3cc764f74047213fca4104baa48c Mon Sep 17 00:00:00 2001 From: "vegorov@chromium.org" Date: Mon, 7 Jun 2010 11:31:44 +0000 Subject: [PATCH] Count Mark-Compact/Mark-Sweep collections only after compaction decision was made Review URL: http://codereview.chromium.org/2665001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/heap.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/heap.cc b/src/heap.cc index 9f811c0..fd7291b 100644 --- a/src/heap.cc +++ b/src/heap.cc @@ -659,18 +659,19 @@ void Heap::PerformGarbageCollection(AllocationSpace space, void Heap::MarkCompact(GCTracer* tracer) { gc_state_ = MARK_COMPACT; - if (MarkCompactCollector::IsCompacting()) { - mc_count_++; - } else { - ms_count_++; - } - tracer->set_full_gc_count(mc_count_); LOG(ResourceEvent("markcompact", "begin")); MarkCompactCollector::Prepare(tracer); bool is_compacting = MarkCompactCollector::IsCompacting(); + if (is_compacting) { + mc_count_++; + } else { + ms_count_++; + } + tracer->set_full_gc_count(mc_count_ + ms_count_); + MarkCompactPrologue(is_compacting); MarkCompactCollector::CollectGarbage(); -- 2.7.4