(self, arena)
| 168 | return (arena, 0, length) |
| 169 | |
| 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 |
| 174 | # we only reclaim space if it's large enough. |
| 175 | if length < self._DISCARD_FREE_SPACE_LARGER_THAN: |
| 176 | return |
| 177 | blocks = self._allocated_blocks.pop(arena) |
| 178 | assert not blocks |
| 179 | del self._start_to_block[(arena, 0)] |
| 180 | del self._stop_to_block[(arena, length)] |
| 181 | self._arenas.remove(arena) |
| 182 | seq = self._len_to_seq[length] |
| 183 | seq.remove((arena, 0, length)) |
| 184 | if not seq: |
| 185 | del self._len_to_seq[length] |
| 186 | self._lengths.remove(length) |
| 187 | |
| 188 | def _malloc(self, size): |
| 189 | # returns a large enough block -- it might be much larger |
no test coverage detected