Fix CHECK for homogenous space compaction
Fix CMS from erroring out when background_collector_type_ is
gc::kCollectorTypeHomogeneousSpaceCompact. This GC type is a "moving"
GC.
Fixes test breakages.
Test: make
Change-Id: Idc949fecd51443c0f924e7554f1098b758e808f2
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc
index 3066c7a..433dd0203 100644
--- a/runtime/gc/heap.cc
+++ b/runtime/gc/heap.cc
@@ -313,9 +313,10 @@
if (kUseReadBarrier) {
CHECK_EQ(foreground_collector_type_, kCollectorTypeCC);
CHECK_EQ(background_collector_type_, kCollectorTypeCCBackground);
- } else {
+ } else if (background_collector_type_ != gc::kCollectorTypeHomogeneousSpaceCompact) {
CHECK_EQ(IsMovingGc(foreground_collector_type_), IsMovingGc(background_collector_type_))
- << "Changing from moving to non-moving GC (or visa versa) is not supported.";
+ << "Changing from " << foreground_collector_type_ << " to "
+ << background_collector_type_ << " (or visa versa) is not supported.";
}
verification_.reset(new Verification(this));
CHECK_GE(large_object_threshold, kMinLargeObjectThreshold);