aboutsummaryrefslogtreecommitdiff
path: root/lib/std/heap/general_purpose_allocator.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/heap/general_purpose_allocator.zig')
-rw-r--r--lib/std/heap/general_purpose_allocator.zig20
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/std/heap/general_purpose_allocator.zig b/lib/std/heap/general_purpose_allocator.zig
index 239ec4309f..4eb8a2a37f 100644
--- a/lib/std/heap/general_purpose_allocator.zig
+++ b/lib/std/heap/general_purpose_allocator.zig
@@ -346,10 +346,10 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
break;
}
}
- var it = self.large_allocations.iterator();
+ var it = self.large_allocations.valueIterator();
while (it.next()) |large_alloc| {
log.err("memory address 0x{x} leaked: {s}", .{
- @ptrToInt(large_alloc.value.bytes.ptr), large_alloc.value.getStackTrace(),
+ @ptrToInt(large_alloc.bytes.ptr), large_alloc.getStackTrace(),
});
leaks = true;
}
@@ -444,7 +444,7 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
}
};
- if (config.safety and old_mem.len != entry.value.bytes.len) {
+ if (config.safety and old_mem.len != entry.value_ptr.bytes.len) {
var addresses: [stack_n]usize = [1]usize{0} ** stack_n;
var free_stack_trace = StackTrace{
.instruction_addresses = &addresses,
@@ -452,9 +452,9 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
};
std.debug.captureStackTrace(ret_addr, &free_stack_trace);
log.err("Allocation size {d} bytes does not match free size {d}. Allocation: {s} Free: {s}", .{
- entry.value.bytes.len,
+ entry.value_ptr.bytes.len,
old_mem.len,
- entry.value.getStackTrace(),
+ entry.value_ptr.getStackTrace(),
free_stack_trace,
});
}
@@ -466,7 +466,7 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
log.info("large free {d} bytes at {*}", .{ old_mem.len, old_mem.ptr });
}
- self.large_allocations.removeAssertDiscard(@ptrToInt(old_mem.ptr));
+ assert(self.large_allocations.remove(@ptrToInt(old_mem.ptr)));
return 0;
}
@@ -475,8 +475,8 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
old_mem.len, old_mem.ptr, new_size,
});
}
- entry.value.bytes = old_mem.ptr[0..result_len];
- collectStackTrace(ret_addr, &entry.value.stack_addresses);
+ entry.value_ptr.bytes = old_mem.ptr[0..result_len];
+ collectStackTrace(ret_addr, &entry.value_ptr.stack_addresses);
return result_len;
}
@@ -645,8 +645,8 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type {
const gop = self.large_allocations.getOrPutAssumeCapacity(@ptrToInt(slice.ptr));
assert(!gop.found_existing); // This would mean the kernel double-mapped pages.
- gop.entry.value.bytes = slice;
- collectStackTrace(ret_addr, &gop.entry.value.stack_addresses);
+ gop.value_ptr.bytes = slice;
+ collectStackTrace(ret_addr, &gop.value_ptr.stack_addresses);
if (config.verbose_log) {
log.info("large alloc {d} bytes at {*}", .{ slice.len, slice.ptr });