Home | History | Annotate | Download | only in dex

Lines Matching refs:arena

45 Arena::Arena(size_t size)
50 map_ = MemMap::MapAnonymous("dalvik-arena", NULL, size, PROT_READ | PROT_WRITE);
59 Arena::~Arena() {
67 void Arena::Reset() {
79 : lock_("Arena pool lock"),
85 auto* arena = free_arenas_;
87 delete arena;
91 Arena* ArenaPool::AllocArena(size_t size) {
93 Arena* ret = nullptr;
102 ret = new Arena(size);
108 void ArenaPool::FreeArena(Arena* arena) {
112 arena->next_ = free_arenas_;
113 free_arenas_ = arena;
137 // Update how many bytes we have allocated into the arena so that the arena pool knows how
147 Arena* arena = arena_head_;
149 pool_->FreeArena(arena);
155 Arena* new_arena = pool_->AllocArena(std::max(Arena::kDefaultSize, allocation_size));
166 // Start out with how many lost bytes we have in the arena we are currently allocating into.
169 for (Arena* arena = arena_head_; arena != nullptr; arena = arena->next_) {
170 malloc_bytes += arena->Size();
171 if (arena != arena_head_) {
172 lost_bytes += arena->RemainingSpace();