Fix CHECK for is_using_read_barrier_entrypoints
Only check for kGrayDirtyImmuneObjects case.
Test: test/testrunner/run_build_test_target.py -j40 art-read-barrier-table-lookup
Change-Id: Id7414cf33c1a79fb3042ac6347fad1420e8c43bf
diff --git a/runtime/gc/collector/concurrent_copying.cc b/runtime/gc/collector/concurrent_copying.cc
index 9eb2aea..bb09559 100644
--- a/runtime/gc/collector/concurrent_copying.cc
+++ b/runtime/gc/collector/concurrent_copying.cc
@@ -991,8 +991,12 @@
// to avoid a race with ThreadList::Register().
CHECK(concurrent_copying_->is_marking_);
concurrent_copying_->is_marking_ = false;
- CHECK(concurrent_copying_->is_using_read_barrier_entrypoints_);
- concurrent_copying_->is_using_read_barrier_entrypoints_ = false;
+ if (kUseBakerReadBarrier && kGrayDirtyImmuneObjects) {
+ CHECK(concurrent_copying_->is_using_read_barrier_entrypoints_);
+ concurrent_copying_->is_using_read_barrier_entrypoints_ = false;
+ } else {
+ CHECK(!concurrent_copying_->is_using_read_barrier_entrypoints_);
+ }
}
private: