Lines Matching refs:size

31 // The chunk size by which the swap file is increased and mapped.
40 if (last_size != entry.size) {
41 last_size = entry.size;
45 << " size=" << std::dec << entry.free_by_start_entry->size;
56 DCHECK_NE(chunk.size, 0u);
59 free_by_size_.emplace(chunk.size, insert_result.first);
73 // this point, so there should be only full size chunks in free_by_start_.
75 if (munmap(chunk.ptr, chunk.size) != 0) {
77 << static_cast<const void*>(chunk.ptr) << " size=" << chunk.size;
86 if (free_by_start.size() != free_by_size.size()) {
87 LOG(FATAL) << "Size: " << free_by_start.size() << " vs " << free_by_size.size();
93 sum1 += entry.free_by_start_entry->size;
99 sum2 += entry.size;
108 void* SwapSpace::Alloc(size_t size) {
110 size = RoundUp(size, 8U);
116 : free_by_size_.lower_bound(FreeBySizeEntry { size, free_by_start_.begin() });
120 if (old_chunk.size == size) {
128 it->free_by_start_entry->ptr += size;
129 it->free_by_start_entry->size -= size;
131 // The free_by_size_ map is ordered by the `size` and then `free_by_start_entry->ptr`.
132 // Adjusting the `ptr` above does not change that ordering but decreasing `size` can
135 it->size -= size;
139 FreeBySizeEntry new_value(old_chunk.size - size, entry);
141 it->size -= size;
151 // Not a big enough free chunk, need to increase file size.
152 SpaceChunk new_chunk = NewFileChunk(size);
153 if (new_chunk.size != size) {
155 SpaceChunk remainder = { new_chunk.ptr + size, new_chunk.size - size };
173 LOG(ERROR) << "Current size: " << size_ << " requested: " << next_part << "/" << min_size;
190 void SwapSpace::Free(void* ptr, size_t size) {
192 size = RoundUp(size, 8U);
199 SpaceChunk chunk = { reinterpret_cast<uint8_t*>(ptr), size };
207 chunk.size += prev->size;
208 chunk.ptr -= prev->size;
209 auto erase_pos = free_by_size_.find(FreeBySizeEntry { prev->size, prev });
219 chunk.size += it->size;
220 auto erase_pos = free_by_size_.find(FreeBySizeEntry { it->size, it });
231 if (free_after != free_before + size) {
233 CHECK_EQ(free_after, free_before + size) << "Should be " << size << " difference from " << free_before;