Lines Matching refs:arena

126         # Current arena allocation size
159 # Create a new arena with at least the given *size*
166 arena = Arena(length)
167 self._arenas.append(arena)
168 return (arena, 0, length)
170 def _discard_arena(self, arena):
171 # Possibly delete the given (unused) arena
172 length = arena.size
173 # Reusing an existing arena is faster than creating a new one, so
177 blocks = self._allocated_blocks.pop(arena)
179 del self._start_to_block[(arena, 0)]
180 del self._stop_to_block[(arena, length)]
181 self._arenas.remove(arena)
183 seq.remove((arena, 0, length))
200 (arena, start, stop) = block
201 del self._start_to_block[(arena, start)]
202 del self._stop_to_block[(arena, stop)]
206 # make block available and try to merge with its neighbours in the arena
207 (arena, start, stop) = block
210 prev_block = self._stop_to_block[(arena, start)]
217 next_block = self._start_to_block[(arena, stop)]
223 block = (arena, start, stop)
232 self._start_to_block[(arena, start)] = block
233 self._stop_to_block[(arena, stop)] = block
237 (arena, start, stop) = block
238 del self._start_to_block[(arena, start)]
239 del self._stop_to_block[(arena, stop)]
251 arena, start, stop = block
252 blocks = self._allocated_blocks[arena]
256 self._discard_arena(arena)
309 (arena, start, stop) = self._malloc(size)
314 self._add_free_block((arena, real_stop, stop))
315 self._allocated_blocks[arena].add((start, real_stop))
316 return (arena, start, real_stop)
336 (arena, start, stop), size = self._state
337 return memoryview(arena.buffer)[start:start+size]