/art/runtime/gc/accounting/ |
H A D | heap_bitmap-inl.h | 30 for (const auto& bitmap : continuous_space_bitmaps_) { 31 bitmap->VisitMarkedRange(bitmap->HeapBegin(), bitmap->HeapLimit(), visitor); 33 for (const auto& bitmap : large_object_bitmaps_) { 34 bitmap->VisitMarkedRange(bitmap->HeapBegin(), bitmap->HeapLimit(), visitor); 39 ContinuousSpaceBitmap* bitmap = GetContinuousSpaceBitmap(obj); local 40 if (LIKELY(bitmap ! 53 ContinuousSpaceBitmap* bitmap = GetContinuousSpaceBitmap(obj); local 68 ContinuousSpaceBitmap* bitmap = GetContinuousSpaceBitmap(obj); local 85 ContinuousSpaceBitmap* bitmap = GetContinuousSpaceBitmap(obj); local [all...] |
H A D | heap_bitmap.cc | 30 CHECK(it != continuous_space_bitmaps_.end()) << " continuous space bitmap " << old_bitmap 38 CHECK(it != large_object_bitmaps_.end()) << " large object bitmap " << old_bitmap 43 void HeapBitmap::AddContinuousSpaceBitmap(accounting::ContinuousSpaceBitmap* bitmap) { argument 44 DCHECK(bitmap != nullptr); 45 // Check that there is no bitmap overlap. 47 CHECK(bitmap->HeapBegin() >= cur_bitmap->HeapLimit() || 48 bitmap->HeapLimit() <= cur_bitmap->HeapBegin()) 49 << "Bitmap " << bitmap->Dump() << " overlaps with existing bitmap " 52 continuous_space_bitmaps_.push_back(bitmap); 55 RemoveContinuousSpaceBitmap(accounting::ContinuousSpaceBitmap* bitmap) argument 62 AddLargeObjectBitmap(LargeObjectBitmap* bitmap) argument 67 RemoveLargeObjectBitmap(LargeObjectBitmap* bitmap) argument [all...] |
H A D | card_table-inl.h | 52 inline size_t CardTable::Scan(ContinuousSpaceBitmap* bitmap, byte* scan_begin, byte* scan_end, argument 54 DCHECK_GE(scan_begin, reinterpret_cast<byte*>(bitmap->HeapBegin())); 56 DCHECK_LE(scan_end, reinterpret_cast<byte*>(bitmap->HeapLimit())); 67 bitmap->VisitMarkedRange(start, start + kCardSize, visitor); 89 // TODO: Investigate if processing continuous runs of dirty cards with a single bitmap visit is 96 bitmap->VisitMarkedRange(start, start + kCardSize, visitor); 110 bitmap->VisitMarkedRange(start, start + kCardSize, visitor);
|
H A D | remembered_set.cc | 130 ContinuousSpaceBitmap* bitmap = space_->GetLiveBitmap(); local 136 bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, obj_visitor);
|
H A D | space_bitmap-inl.h | 134 // Do not read memory, as it could be after the end of the bitmap. 178 inline std::ostream& operator << (std::ostream& stream, const SpaceBitmap<kAlignment>& bitmap) { argument 180 << bitmap.GetName() << "[" 181 << "begin=" << reinterpret_cast<const void*>(bitmap.HeapBegin()) 182 << ",end=" << reinterpret_cast<const void*>(bitmap.HeapLimit())
|
H A D | space_bitmap.h | 46 // Initialize a space bitmap so that it points to a bitmap large enough to cover a heap at 50 // Initialize a space bitmap using the provided mem_map as the live bits. Takes ownership of the 86 // Fill the bitmap with zeroes. Returns the bitmap's memory to the system as a side-effect. 91 // Return true iff <obj> is within the range of pointers that this bitmap could potentially cover, 95 // bitmap. 105 explicit ClearVisitor(SpaceBitmap* const bitmap) argument 106 : bitmap_(bitmap) { 130 // Visits set bits in address order. The callback is not permitted to change the bitmap bit [all...] |
H A D | space_bitmap_test.cc | 36 ContinuousSpaceBitmap::Create("test bitmap", heap_begin, heap_capacity)); 42 BitmapVerify(ContinuousSpaceBitmap* bitmap, const mirror::Object* begin, argument 44 : bitmap_(bitmap), 64 ContinuousSpaceBitmap::Create("test bitmap", heap_begin, heap_capacity)); 124 ContinuousSpaceBitmap::Create("test bitmap", heap_begin, heap_capacity));
|
H A D | mod_union_table.cc | 317 ContinuousSpaceBitmap* bitmap = space_->GetLiveBitmap(); local 321 bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, scan_visitor);
|
/art/patchoat/ |
H A D | patchoat.h | 56 PatchOat(MemMap* image, gc::accounting::ContinuousSpaceBitmap* bitmap, argument 58 : image_(image), bitmap_(bitmap), heap_(heap), 60 PatchOat(ElfFile* oat_file, MemMap* image, gc::accounting::ContinuousSpaceBitmap* bitmap, argument 62 : oat_file_(oat_file), image_(image), bitmap_(bitmap), heap_(heap),
|
/art/runtime/gc/space/ |
H A D | zygote_space.cc | 113 accounting::ContinuousSpaceBitmap* bitmap = zygote_space->GetLiveBitmap(); local 115 bitmap->Clear(ptrs[i]);
|
H A D | malloc_space.cc | 52 StringPrintf("allocspace %s live-bitmap %d", name.c_str(), static_cast<int>(bitmap_index)), 54 CHECK(live_bitmap_.get() != nullptr) << "could not create allocspace live bitmap #" 57 StringPrintf("allocspace %s mark-bitmap %d", name.c_str(), static_cast<int>(bitmap_index)), 59 CHECK(live_bitmap_.get() != nullptr) << "could not create allocspace mark bitmap #" 238 accounting::ContinuousSpaceBitmap* bitmap = space->GetLiveBitmap(); local 240 bitmap->Clear(ptrs[i]);
|
H A D | large_object_space.cc | 499 accounting::LargeObjectBitmap* bitmap = space->GetLiveBitmap(); local 501 bitmap->Clear(ptrs[i]);
|
/art/runtime/gc/collector/ |
H A D | mark_compact.cc | 95 // Set the bit in the bitmap so that we know to restore it later. 124 // Visit all the marked objects in the bitmap. 137 // TODO: I don't think we should need heap bitmap lock to Get the mark bitmap. 357 // No mod union table, so we need to scan the space using bitmap visit. 358 // Scan the space using bitmap visit. 359 accounting::ContinuousSpaceBitmap* bitmap = space->GetLiveBitmap(); local 360 if (bitmap != nullptr) { 362 bitmap->VisitMarkedRange(reinterpret_cast<uintptr_t>(space->Begin()), 372 // Update the objects in the bump pointer space last, these objects don't have a bitmap [all...] |
H A D | semi_space.cc | 143 // Set the initial bitmap. 146 // TODO: I don't think we should need heap bitmap lock to Get the mark bitmap. 332 // pointer space only collection is enabled,) then we need to scan its live bitmap or dirty 334 // bitmap above in MarkAllocStackAsLive().) 493 // No logic for marking the bitmap, so it must be null. 512 // bitmap marking of the promoted object until it's popped off 517 // iterating over the marked bits of the live bitmap 547 accounting::ContinuousSpaceBitmap* bitmap = fallback_space_->GetLiveBitmap(); local 548 if (bitmap ! [all...] |
H A D | mark_sweep.cc | 130 // TODO: I don't think we should need heap bitmap lock to Get the mark bitmap. 278 // Recursively mark all the non-image bits set in the mark bitmap. 305 accounting::ContinuousSpaceBitmap* bitmap = space->GetMarkBitmap(); local 307 if (bitmap != nullptr && 309 current_space_bitmap_ = bitmap; 316 CHECK(current_space_bitmap_ != nullptr) << "Could not find a default mark bitmap\n" 481 // See if the root is on any space bitmap. 690 accounting::ContinuousSpaceBitmap* bitmap, 694 bitmap_(bitmap), 689 CardScanTask(ThreadPool* thread_pool, MarkSweep* mark_sweep, accounting::ContinuousSpaceBitmap* bitmap, byte* begin, byte* end, byte minimum_age, size_t mark_stack_size, Object** mark_stack_obj) argument 824 RecursiveMarkTask(ThreadPool* thread_pool, MarkSweep* mark_sweep, accounting::ContinuousSpaceBitmap* bitmap, uintptr_t begin, uintptr_t end) argument [all...] |
/art/runtime/gc/ |
H A D | heap.cc | 1185 // Note: the bitmap tests below are racy since we don't hold the heap bitmap lock. 1499 // For bitmap Visit. 1820 // Live bitmap of the space which contains the bins. 1822 // Mark bitmap of the space which contains the bins. 2320 accounting::ContinuousSpaceBitmap* bitmap = variable 2323 if (bitmap == nullptr) { 2324 LOG(ERROR) << "Object " << obj << " has no bitmap"; 2330 if (bitmap->Test(obj)) { 2331 LOG(ERROR) << "Object " << obj << " found in live bitmap"; [all...] |