From 885c73f3438d108c3cbb1afd75e3fee2f4bc88c0 Mon Sep 17 00:00:00 2001 From: Lee Cannon Date: Wed, 1 Dec 2021 09:44:19 +0000 Subject: [PATCH 1/2] allocgate: actually free memory in gpa --- lib/std/heap/general_purpose_allocator.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/heap/general_purpose_allocator.zig b/lib/std/heap/general_purpose_allocator.zig index 8160bc2a66..d366f8572e 100644 --- a/lib/std/heap/general_purpose_allocator.zig +++ b/lib/std/heap/general_purpose_allocator.zig @@ -627,6 +627,8 @@ pub fn GeneralPurposeAllocator(comptime config: Config) type { self.total_requested_bytes -= entry.value_ptr.requested_size; } + if (!config.never_unmap) self.backing_allocator.rawFree(old_mem, old_align, ret_addr); + if (config.verbose_log) { log.info("large free {d} bytes at {*}", .{ old_mem.len, old_mem.ptr }); } From 67ec6e73fb43020c92a4bebe99e2c426f0f5518f Mon Sep 17 00:00:00 2001 From: Lee Cannon Date: Wed, 1 Dec 2021 10:24:03 +0000 Subject: [PATCH 2/2] allocgate: use correct allocator in `populateTestFunctions` --- src/Module.zig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Module.zig b/src/Module.zig index 0e5e3690bd..7ef9a02e09 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -4775,10 +4775,10 @@ pub fn populateTestFunctions(mod: *Module) !void { const test_name_decl = n: { var name_decl_arena = std.heap.ArenaAllocator.init(gpa); errdefer name_decl_arena.deinit(); - const bytes = try arena.dupe(u8, test_name_slice); + const bytes = try name_decl_arena.allocator().dupe(u8, test_name_slice); const test_name_decl = try mod.createAnonymousDeclFromDecl(array_decl, array_decl.src_namespace, null, .{ - .ty = try Type.Tag.array_u8.create(arena, bytes.len), - .val = try Value.Tag.bytes.create(arena, bytes), + .ty = try Type.Tag.array_u8.create(name_decl_arena.allocator(), bytes.len), + .val = try Value.Tag.bytes.create(name_decl_arena.allocator(), bytes), }); try test_name_decl.finalizeNewArena(&name_decl_arena); break :n test_name_decl;