From d04495edc261bf7fbdb7c6a1c31c6dda08e990ed Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Wed, 11 Mar 2015 19:09:07 -0700 Subject: [PATCH] Fix CC collector boot. Avoid a DCHECK failure that the semi space collector isn't initialized at the pre-zygote fork time when the CC collector is used. Change-Id: If35707b241be05a341abb11ba51fbd0bc222d219 --- runtime/gc/heap.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc index a41d65ce4..c421262ef 100644 --- a/runtime/gc/heap.cc +++ b/runtime/gc/heap.cc @@ -2064,8 +2064,6 @@ void Heap::PreZygoteFork() { non_moving_space_->GetMemMap()->Protect(PROT_READ | PROT_WRITE); const bool same_space = non_moving_space_ == main_space_; if (kCompactZygote) { - // Can't compact if the non moving space is the same as the main space. - DCHECK(semi_space_collector_ != nullptr); // Temporarily disable rosalloc verification because the zygote // compaction will mess up the rosalloc internal metadata. ScopedDisableRosAllocVerification disable_rosalloc_verif(this); @@ -2084,6 +2082,8 @@ void Heap::PreZygoteFork() { } } else { CHECK(main_space_ != nullptr); + CHECK_NE(main_space_, non_moving_space_) + << "Does not make sense to compact within the same space"; // Copy from the main space. zygote_collector.SetFromSpace(main_space_); reset_main_space = true; -- 2.11.0