diff options
| -rw-r--r-- | runtime/gc/collector/concurrent_copying.cc | 10 | ||||
| -rw-r--r-- | runtime/gc/collector/concurrent_copying.h | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/runtime/gc/collector/concurrent_copying.cc b/runtime/gc/collector/concurrent_copying.cc index e95b135565..3b57b0741d 100644 --- a/runtime/gc/collector/concurrent_copying.cc +++ b/runtime/gc/collector/concurrent_copying.cc @@ -294,18 +294,18 @@ void ConcurrentCopying::CreateInterRegionRefBitmaps() { 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 @@ void ConcurrentCopying::CopyingPhase() { 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 70d2624a4f..a2d48376a5 100644 --- a/runtime/gc/collector/concurrent_copying.h +++ b/runtime/gc/collector/concurrent_copying.h @@ -394,8 +394,8 @@ class ConcurrentCopying : public GarbageCollector { 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_; |