aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/api/filesystem_router.zig2
-rw-r--r--src/bun.js/bindings/exports.zig2
-rw-r--r--src/memory_allocator.zig4
-rw-r--r--src/mimalloc_arena.zig8
4 files changed, 9 insertions, 7 deletions
diff --git a/src/bun.js/api/filesystem_router.zig b/src/bun.js/api/filesystem_router.zig
index c80a4ed07..859831234 100644
--- a/src/bun.js/api/filesystem_router.zig
+++ b/src/bun.js/api/filesystem_router.zig
@@ -523,7 +523,7 @@ pub const MatchedRoute = struct {
map.deinit();
}
if (this.needs_deinit) {
- if (this.route.pathname.len > 0 and bun.Mimalloc.mi_check_owned(this.route.pathname.ptr)) {
+ if (this.route.pathname.len > 0 and bun.Mimalloc.mi_is_in_heap_region(this.route.pathname.ptr)) {
bun.Mimalloc.mi_free(bun.constStrToU8(this.route.pathname).ptr);
}
diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig
index 959cba501..93c1fbae3 100644
--- a/src/bun.js/bindings/exports.zig
+++ b/src/bun.js/bindings/exports.zig
@@ -263,7 +263,7 @@ export fn ZigString__free(raw: [*]const u8, len: usize, allocator_: ?*anyopaque)
var allocator: std.mem.Allocator = @ptrCast(*std.mem.Allocator, @alignCast(@alignOf(*std.mem.Allocator), allocator_ orelse return)).*;
var ptr = ZigString.init(raw[0..len]).slice().ptr;
if (comptime Environment.allow_assert) {
- std.debug.assert(Mimalloc.mi_check_owned(ptr));
+ std.debug.assert(Mimalloc.mi_is_in_heap_region(ptr));
}
var str = ptr[0..len];
diff --git a/src/memory_allocator.zig b/src/memory_allocator.zig
index cb73bfb89..e131a76da 100644
--- a/src/memory_allocator.zig
+++ b/src/memory_allocator.zig
@@ -109,8 +109,8 @@ const CAllocator = struct {
// so it's faster if we don't pass that value through
// but its good to have that assertion
if (comptime Environment.allow_assert) {
- assert(mimalloc.mi_is_in_heap_region(buf.ptr));
- mimalloc.mi_free_size(buf.ptr, buf.len);
+ assert(mimalloc.mi_check_owned(buf.ptr));
+ mimalloc.mi_free_size_aligned(buf.ptr, buf.len, buf_align);
} else {
mimalloc.mi_free(buf.ptr);
}
diff --git a/src/mimalloc_arena.zig b/src/mimalloc_arena.zig
index 5b2fa14e8..6b5bc3fd8 100644
--- a/src/mimalloc_arena.zig
+++ b/src/mimalloc_arena.zig
@@ -227,10 +227,12 @@ pub const Arena = struct {
) void {
_ = buf_align;
_ = return_address;
- if (comptime Environment.allow_assert)
+ if (comptime Environment.allow_assert) {
assert(mimalloc.mi_is_in_heap_region(buf.ptr));
-
- mimalloc.mi_free(buf.ptr);
+ mimalloc.mi_free_size_aligned(buf.ptr, buf.len, buf_align);
+ } else {
+ mimalloc.mi_free(buf.ptr);
+ }
}
};