Make inter-region ref bitmap pointers unique_ptr

Test: art/test/testrunner/testrunner.py --host
Bug: 112720851
Change-Id: I51f4cfe34d8bc85f6267c11aa5f7e3ccc021354f
diff --git a/runtime/gc/collector/concurrent_copying.cc b/runtime/gc/collector/concurrent_copying.cc
index e95b135..3b57b07 100644
--- a/runtime/gc/collector/concurrent_copying.cc
+++ b/runtime/gc/collector/concurrent_copying.cc
@@ -294,18 +294,18 @@
   DCHECK(region_space_ != nullptr);
   DCHECK(heap_->non_moving_space_ != nullptr);
   // Region-space
-  region_space_inter_region_bitmap_ = accounting::ContinuousSpaceBitmap::Create(
+  region_space_inter_region_bitmap_.reset(accounting::ContinuousSpaceBitmap::Create(
       "region-space inter region ref bitmap",
       reinterpret_cast<uint8_t*>(region_space_->Begin()),
-      region_space_->Limit() - region_space_->Begin());
+      region_space_->Limit() - region_space_->Begin()));
   CHECK(region_space_inter_region_bitmap_ != nullptr)
       << "Couldn't allocate region-space inter region ref bitmap";
 
   // non-moving-space
-  non_moving_space_inter_region_bitmap_ = accounting::ContinuousSpaceBitmap::Create(
+  non_moving_space_inter_region_bitmap_.reset(accounting::ContinuousSpaceBitmap::Create(
       "non-moving-space inter region ref bitmap",
       reinterpret_cast<uint8_t*>(heap_->non_moving_space_->Begin()),
-      heap_->non_moving_space_->Limit() - heap_->non_moving_space_->Begin());
+      heap_->non_moving_space_->Limit() - heap_->non_moving_space_->Begin()));
   CHECK(non_moving_space_inter_region_bitmap_ != nullptr)
       << "Couldn't allocate non-moving-space inter region ref bitmap";
 }
@@ -1466,7 +1466,7 @@
                          ScanDirtyObject</*kNoUnEvac*/ true>(obj);
                        };
         if (space == region_space_) {
-          region_space_->ScanUnevacFromSpace(region_space_inter_region_bitmap_, visitor);
+          region_space_->ScanUnevacFromSpace(region_space_inter_region_bitmap_.get(), visitor);
         } else {
           DCHECK(space == heap_->non_moving_space_);
           non_moving_space_inter_region_bitmap_->VisitMarkedRange(
diff --git a/runtime/gc/collector/concurrent_copying.h b/runtime/gc/collector/concurrent_copying.h
index 70d2624..a2d4837 100644
--- a/runtime/gc/collector/concurrent_copying.h
+++ b/runtime/gc/collector/concurrent_copying.h
@@ -394,8 +394,8 @@
   size_t gc_count_;
   // Bit is set if the corresponding object has inter-region references that
   // were found during the marking phase of two-phase full-heap GC cycle.
-  accounting::ContinuousSpaceBitmap* region_space_inter_region_bitmap_;
-  accounting::ContinuousSpaceBitmap* non_moving_space_inter_region_bitmap_;
+  std::unique_ptr<accounting::ContinuousSpaceBitmap> region_space_inter_region_bitmap_;
+  std::unique_ptr<accounting::ContinuousSpaceBitmap> non_moving_space_inter_region_bitmap_;
 
   // reclaimed_bytes_ratio = reclaimed_bytes/num_allocated_bytes per GC cycle
   float reclaimed_bytes_ratio_sum_;