Lines Matching refs:End
66 << std::hex << (intptr_t)base_ << ", end="
116 for (auto it = free_page_runs_.begin(); it != free_page_runs_.end(); ) {
159 if (it != free_page_runs_.rend() && (last_free_page_run = *it)->End(this) == base_ + footprint_) {
160 // There is a free page run at the end.
165 // There is no free page run at the end.
183 // There was a free page run at the end. Expand its size.
187 DCHECK_EQ(last_free_page_run->End(this), base_ + new_footprint);
189 // Otherwise, insert a new free page run at the end.
313 size_t end = page_map_size_;
314 while (idx < end && page_map_[idx] == pm_part_type) {
345 DCHECK(free_page_runs_.find(fpr) == free_page_runs_.end());
351 << std::hex << reinterpret_cast<uintptr_t>(fpr->End(this)) << " [" << std::dec
352 << (fpr->End(this) == End() ? page_map_size_ : ToPageMapIndex(fpr->End(this))) << "]";
355 if (higher_it != free_page_runs_.end()) {
356 for (auto it = higher_it; it != free_page_runs_.end(); ) {
362 << std::hex << reinterpret_cast<uintptr_t>(h->End(this)) << " [" << std::dec
363 << (h->End(this) == End() ? page_map_size_ : ToPageMapIndex(h->End(this))) << "]";
365 if (fpr->End(this) == h->Begin()) {
404 << std::hex << reinterpret_cast<uintptr_t>(l->End(this)) << " [" << std::dec
405 << (l->End(this) == End() ? page_map_size_ : ToPageMapIndex(l->End(this))) << "]";
407 if (l->End(this) == fpr->Begin()) {
440 DCHECK(free_page_runs_.find(fpr) == free_page_runs_.end());
445 DCHECK(free_page_runs_.find(fpr) != free_page_runs_.end());
554 // since we end up dirtying zero pages which may have been madvised.
600 DCHECK(non_full_runs_[idx].find(current_run) == non_full_runs_[idx].end());
601 DCHECK(full_runs_[idx].find(current_run) != full_runs_[idx].end());
610 DCHECK(non_full_runs_[idx].find(current_run) == non_full_runs_[idx].end());
611 DCHECK(full_runs_[idx].find(current_run) == full_runs_[idx].end());
660 CHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end());
661 CHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end());
697 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end());
698 DCHECK(full_runs_[idx].find(thread_local_run) != full_runs_[idx].end());
706 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end());
707 DCHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end());
744 DCHECK_LT(ptr, run->End());
758 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end());
759 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end());
774 if (pos != non_full_runs->end()) {
784 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end());
785 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end());
799 if (pos == non_full_runs->end()) {
801 DCHECK(full_runs->find(run) != full_runs->end());
1093 // Make sure to set the bits at the end of the bitmap so that we don't allocate there since they
1115 void RosAlloc::Run::InspectAllSlots(void (*handler)(void* start, void* end, size_t used_bytes, void* callback_arg),
1127 size_t end = std::min(num_slots - slots, static_cast<size_t>(32));
1128 for (size_t i = 0; i < end; ++i) {
1250 DCHECK(non_full_runs_[idx].find(run) == non_full_runs_[idx].end());
1251 DCHECK(full_runs_[idx].find(run) == full_runs_[idx].end());
1277 DCHECK(full_runs->find(run) == full_runs->end());
1278 DCHECK(non_full_runs->find(run) == non_full_runs->end());
1285 DCHECK(pos != full_runs->end());
1292 DCHECK(full_runs->find(run) == full_runs->end());
1296 DCHECK(full_runs->find(run) == full_runs->end());
1297 DCHECK(non_full_runs->find(run) != non_full_runs->end());
1304 DCHECK(non_full_runs->find(run) == non_full_runs->end());
1316 DCHECK(non_full_runs->find(run) == non_full_runs->end());
1317 DCHECK(full_runs->find(run) == full_runs->end());
1322 DCHECK(full_runs->find(run) != full_runs->end());
1323 DCHECK(non_full_runs->find(run) == non_full_runs->end());
1340 DCHECK(full_runs->find(run) == full_runs->end());
1341 DCHECK(non_full_runs->find(run) != non_full_runs->end());
1353 size_t end = page_map_size_;
1358 for (size_t i = 0; i < end; ++i) {
1365 if (free_page_runs_.find(fpr) != free_page_runs_.end()) {
1379 // Reset at the end of the current free page run.
1395 // Reset at the end of the current free page run.
1455 size_t end = page_map_size_;
1456 while (idx < end && page_map_[idx] == kPageMapLargeObjectPart) {
1495 if (it != free_page_runs_.rend() && (last_free_page_run = *it)->End(this) == base_ + footprint_) {
1500 DCHECK_EQ(last_free_page_run->End(this), base_ + footprint_);
1510 DCHECK_LE(madvise_begin, page_map_mem_map_->End());
1511 size_t madvise_size = page_map_mem_map_->End() - madvise_begin;
1539 void RosAlloc::InspectAll(void (*handler)(void* start, void* end, size_t used_bytes, void* callback_arg),
1556 DCHECK(free_page_runs_.find(fpr) != free_page_runs_.end());
1565 void* end = reinterpret_cast<byte*>(fpr) + fpr_size;
1566 handler(start, end, 0, arg);
1586 void* end = base_ + (i + num_pages) * kPageSize;
1588 handler(start, end, used_bytes, arg);
1667 DCHECK(non_full_runs_[idx].find(thread_local_run) == non_full_runs_[idx].end());
1668 DCHECK(full_runs_[idx].find(thread_local_run) == full_runs_[idx].end());
1680 DCHECK(full_runs_[idx].find(run) != full_runs_[idx].end());
1693 DCHECK(non_full_runs_[idx].find(run) != non_full_runs_[idx].end());
1856 void RosAlloc::BytesAllocatedCallback(void* start, void* end, size_t used_bytes, void* arg) {
1864 void RosAlloc::ObjectsAllocatedCallback(void* start, void* end, size_t used_bytes, void* arg) {
1892 CHECK(free_page_runs_.find(fpr) != free_page_runs_.end())
2006 << "Mismatch in the end address of the run " << Dump();
2010 // Make sure all the bits at the end of the run are set so that we don't allocate there.
2019 for (auto it = thread_list.begin(); it != thread_list.end(); ++it) {
2064 CHECK(non_full_runs.find(this) != non_full_runs.end())
2070 CHECK(full_runs.find(this) != full_runs.end())
2082 size_t end = std::min(num_slots - slots, static_cast<size_t>(32));
2083 for (size_t i = 0; i < end; ++i) {
2131 if (free_page_runs_.find(fpr) != free_page_runs_.end()) {
2159 size_t RosAlloc::ReleasePageRange(byte* start, byte* end) {
2161 DCHECK_ALIGNED(end, kPageSize);
2162 DCHECK_LT(start, end);
2170 memset(start, 0, end - start);
2172 CHECK_EQ(madvise(start, end - start, MADV_DONTNEED), 0);
2176 const size_t max_idx = pm_idx + (end - start) / kPageSize;