Lines Matching refs:r

154     Region* r = &regions_[i];  in FromSpaceSize()  local
155 if (r->IsInFromSpace()) { in FromSpaceSize()
166 Region* r = &regions_[i]; in UnevacFromSpaceSize() local
167 if (r->IsInUnevacFromSpace()) { in UnevacFromSpaceSize()
178 Region* r = &regions_[i]; in ToSpaceSize() local
179 if (r->IsInToSpace()) { in ToSpaceSize()
355 Region* r = &regions_[i]; in SetFromSpace() local
356 RegionState state = r->State(); in SetFromSpace()
357 RegionType type = r->Type(); in SetFromSpace()
358 if (!r->IsFree()) { in SetFromSpace()
359 DCHECK(r->IsInToSpace()); in SetFromSpace()
364 bool should_evacuate = r->ShouldBeEvacuated(evac_mode); in SetFromSpace()
365 bool is_newly_allocated = r->IsNewlyAllocated(); in SetFromSpace()
367 r->SetAsFromSpace(); in SetFromSpace()
368 DCHECK(r->IsInFromSpace()); in SetFromSpace()
370 r->SetAsUnevacFromSpace(clear_live_bytes); in SetFromSpace()
371 DCHECK(r->IsInUnevacFromSpace()); in SetFromSpace()
383 GetMarkBitmap()->Clear(reinterpret_cast<mirror::Object*>(r->Begin())); in SetFromSpace()
385 num_expected_large_tails = RoundUp(r->BytesAllocated(), kRegionSize) / kRegionSize - 1; in SetFromSpace()
392 r->SetAsFromSpace(); in SetFromSpace()
393 DCHECK(r->IsInFromSpace()); in SetFromSpace()
395 r->SetAsUnevacFromSpace(clear_live_bytes); in SetFromSpace()
396 DCHECK(r->IsInUnevacFromSpace()); in SetFromSpace()
404 rb_table->Clear(r->Begin(), r->End()); in SetFromSpace()
408 DCHECK(!r->is_newly_allocated_); in SetFromSpace()
454 auto expand_madvise_range = [&madvise_list, &clear_block_begin, &clear_block_end] (Region* r) { in ClearFromSpace() argument
455 if (clear_block_end != r->Begin()) { in ClearFromSpace()
460 clear_block_begin = r->Begin(); in ClearFromSpace()
462 clear_block_end = r->End(); in ClearFromSpace()
465 Region* r = &regions_[i]; in ClearFromSpace() local
470 CheckLiveBytesAgainstRegionBitmap(r); in ClearFromSpace()
472 if (r->IsInFromSpace()) { in ClearFromSpace()
473 expand_madvise_range(r); in ClearFromSpace()
474 } else if (r->IsInUnevacFromSpace()) { in ClearFromSpace()
476 if (r->LiveBytes() == 0 && !r->IsLargeTail()) { in ClearFromSpace()
483 expand_madvise_range(r); in ClearFromSpace()
528 Region* r = &regions_[i]; in ClearFromSpace() local
529 if (r->IsInFromSpace()) { in ClearFromSpace()
530 DCHECK(!r->IsTlab()); in ClearFromSpace()
531 *cleared_bytes += r->BytesAllocated(); in ClearFromSpace()
532 *cleared_objects += r->ObjectsAllocated(); in ClearFromSpace()
534 r->Clear(/*zero_and_release_pages=*/false); in ClearFromSpace()
535 } else if (r->IsInUnevacFromSpace()) { in ClearFromSpace()
536 if (r->LiveBytes() == 0) { in ClearFromSpace()
537 DCHECK(!r->IsLargeTail()); in ClearFromSpace()
538 *cleared_bytes += r->BytesAllocated(); in ClearFromSpace()
539 *cleared_objects += r->ObjectsAllocated(); in ClearFromSpace()
540 r->Clear(/*zero_and_release_pages=*/false); in ClearFromSpace()
552 reinterpret_cast<mirror::Object*>(r->Begin()), in ClearFromSpace()
553 reinterpret_cast<mirror::Object*>(r->Begin() + free_regions * kRegionSize)); in ClearFromSpace()
557 r->SetUnevacFromSpaceAsToSpace(); in ClearFromSpace()
558 if (r->AllAllocatedBytesAreLive()) { in ClearFromSpace()
602 reinterpret_cast<mirror::Object*>(r->Begin()), in ClearFromSpace()
603 reinterpret_cast<mirror::Object*>(r->Begin() in ClearFromSpace()
615 if (!use_generational_cc_ || (r->LiveBytes() != static_cast<size_t>(-1))) { in ClearFromSpace()
618 DCHECK(r->IsAllocated()) << r->State(); in ClearFromSpace()
620 PoisonDeadObjectsInUnevacuatedRegion(r); in ClearFromSpace()
639 void RegionSpace::CheckLiveBytesAgainstRegionBitmap(Region* r) { in CheckLiveBytesAgainstRegionBitmap() argument
640 if (r->LiveBytes() == static_cast<size_t>(-1)) { in CheckLiveBytesAgainstRegionBitmap()
649 [&r, &live_bytes_recount](mirror::Object* obj) REQUIRES_SHARED(Locks::mutator_lock_) { in CheckLiveBytesAgainstRegionBitmap()
651 if (r->IsLarge()) { in CheckLiveBytesAgainstRegionBitmap()
656 DCHECK_EQ(reinterpret_cast<uint8_t*>(obj), r->Begin()); in CheckLiveBytesAgainstRegionBitmap()
658 live_bytes_recount = r->Top() - r->Begin(); in CheckLiveBytesAgainstRegionBitmap()
660 DCHECK(r->IsAllocated()) in CheckLiveBytesAgainstRegionBitmap()
661 << "r->State()=" << r->State() << " r->LiveBytes()=" << r->LiveBytes(); in CheckLiveBytesAgainstRegionBitmap()
668 GetLiveBitmap()->VisitMarkedRange(reinterpret_cast<uintptr_t>(r->Begin()), in CheckLiveBytesAgainstRegionBitmap()
669 reinterpret_cast<uintptr_t>(r->Top()), in CheckLiveBytesAgainstRegionBitmap()
672 DCHECK_EQ(live_bytes_recount, r->LiveBytes()); in CheckLiveBytesAgainstRegionBitmap()
690 void RegionSpace::PoisonDeadObjectsInUnevacuatedRegion(Region* r) { in PoisonDeadObjectsInUnevacuatedRegion() argument
694 DCHECK_NE(r->LiveBytes(), static_cast<size_t>(-1)) in PoisonDeadObjectsInUnevacuatedRegion()
695 << "Unexpected live bytes count of -1 in " << Dumpable<Region>(*r); in PoisonDeadObjectsInUnevacuatedRegion()
699 uint8_t* prev_obj_end = reinterpret_cast<uint8_t*>(r->Begin()); in PoisonDeadObjectsInUnevacuatedRegion()
716 GetLiveBitmap()->VisitMarkedRange(reinterpret_cast<uintptr_t>(r->Begin()), in PoisonDeadObjectsInUnevacuatedRegion()
717 reinterpret_cast<uintptr_t>(r->Top()), in PoisonDeadObjectsInUnevacuatedRegion()
720 if (prev_obj_end < r->Top()) { in PoisonDeadObjectsInUnevacuatedRegion()
721 PoisonUnevacuatedRange(prev_obj_end, r->Top()); in PoisonDeadObjectsInUnevacuatedRegion()
738 Region* r = &regions_[i]; in LogFragmentationAllocFailure() local
739 if (r->IsFree()) { in LogFragmentationAllocFailure()
776 Region* r = &regions_[i]; in Clear() local
777 if (!r->IsFree()) { in Clear()
780 r->Clear(/*zero_and_release_pages=*/true); in Clear()
850 Region* r = RefToRegion(ref); in RecordAlloc() local
851 r->objects_allocated_.fetch_add(1, std::memory_order_relaxed); in RecordAlloc()
859 Region* r = nullptr; in AllocNewTlab() local
868 r = largest_partial_tlab->second; in AllocNewTlab()
869 pos = r->End() - largest_partial_tlab->first; in AllocNewTlab()
871 DCHECK_GT(r->End(), pos); in AllocNewTlab()
872 DCHECK_LE(r->Begin(), pos); in AllocNewTlab()
873 DCHECK_GE(r->Top(), pos); in AllocNewTlab()
874 *bytes_tl_bulk_allocated -= r->Top() - pos; in AllocNewTlab()
877 if (r == nullptr) { in AllocNewTlab()
879 r = AllocateRegion(/*for_evac=*/ false); in AllocNewTlab()
881 if (r != nullptr) { in AllocNewTlab()
882 uint8_t* start = pos != nullptr ? pos : r->Begin(); in AllocNewTlab()
884 r->is_a_tlab_ = true; in AllocNewTlab()
885 r->thread_ = self; in AllocNewTlab()
886 r->SetTop(r->End()); in AllocNewTlab()
887 self->SetTlab(start, start + tlab_size, r->End()); in AllocNewTlab()
909 Region* r = RefToRegionLocked(reinterpret_cast<mirror::Object*>(tlab_start)); in RevokeThreadLocalBuffersLocked() local
910 r->is_a_tlab_ = false; in RevokeThreadLocalBuffersLocked()
911 r->thread_ = nullptr; in RevokeThreadLocalBuffersLocked()
912 DCHECK(r->IsAllocated()); in RevokeThreadLocalBuffersLocked()
914 r->RecordThreadLocalAllocations(thread->GetThreadLocalObjectsAllocated(), in RevokeThreadLocalBuffersLocked()
915 thread->GetTlabEnd() - r->Begin()); in RevokeThreadLocalBuffersLocked()
916 DCHECK_GE(r->End(), thread->GetTlabPos()); in RevokeThreadLocalBuffersLocked()
917 DCHECK_LE(r->Begin(), thread->GetTlabPos()); in RevokeThreadLocalBuffersLocked()
918 size_t remaining_bytes = r->End() - thread->GetTlabPos(); in RevokeThreadLocalBuffersLocked()
920 partial_tlabs_.insert(std::make_pair(remaining_bytes, r)); in RevokeThreadLocalBuffersLocked()
1049 Region* r = &regions_[region_index]; in AllocateRegion() local
1050 if (r->IsFree()) { in AllocateRegion()
1051 r->Unfree(this, time_); in AllocateRegion()
1054 DCHECK(!for_evac || !r->is_newly_allocated_); in AllocateRegion()
1061 r->SetNewlyAllocated(); in AllocateRegion()
1069 return r; in AllocateRegion()