| ... | @@ -445,8 +445,11 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { | ... | @@ -445,8 +445,11 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { |
| 445 | } | 445 | } |
| 446 | } | 446 | } |
| 447 | // free retained metadata for small allocations | 447 | // free retained metadata for small allocations |
| 448 | var empty_it = self.empty_buckets.inorderIterator(); | 448 | while (self.empty_buckets.getMin()) |node| { |
| 449 | while (empty_it.next()) |node| { | 449 | // remove the node from the tree before destroying it |
| | 450 | var entry = self.empty_buckets.getEntryForExisting(node); |
| | 451 | entry.set(null); |
| | 452 | |
| 450 | var bucket = node.key; | 453 | var bucket = node.key; |
| 451 | if (config.never_unmap) { | 454 | if (config.never_unmap) { |
| 452 | // free page that was intentionally leaked by never_unmap | 455 | // free page that was intentionally leaked by never_unmap |