Searched defs:bitmap (Results 1 - 16 of 16) sorted by relevance

/art/runtime/gc/accounting/
H A Dheap_bitmap-inl.h30 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 Dheap_bitmap.cc30 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 Dcard_table-inl.h52 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 Dremembered_set.cc130 ContinuousSpaceBitmap* bitmap = space_->GetLiveBitmap(); local
136 bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, obj_visitor);
H A Dspace_bitmap-inl.h134 // 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 Dspace_bitmap.h46 // 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 Dspace_bitmap_test.cc36 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 Dmod_union_table.cc317 ContinuousSpaceBitmap* bitmap = space_->GetLiveBitmap(); local
321 bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, scan_visitor);
/art/patchoat/
H A Dpatchoat.h56 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 Dzygote_space.cc113 accounting::ContinuousSpaceBitmap* bitmap = zygote_space->GetLiveBitmap(); local
115 bitmap->Clear(ptrs[i]);
H A Dmalloc_space.cc52 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 Dlarge_object_space.cc499 accounting::LargeObjectBitmap* bitmap = space->GetLiveBitmap(); local
501 bitmap->Clear(ptrs[i]);
/art/runtime/gc/collector/
H A Dmark_compact.cc95 // 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 Dsemi_space.cc143 // 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 Dmark_sweep.cc130 // 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 Dheap.cc1185 // 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...]

Completed in 888 milliseconds