diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/javascript/jsc/base.zig | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/javascript/jsc/base.zig b/src/javascript/jsc/base.zig index 1acf34bdc..c1ea196e1 100644 --- a/src/javascript/jsc/base.zig +++ b/src/javascript/jsc/base.zig @@ -1829,11 +1829,12 @@ pub const MarkedArrayBuffer = struct { pub const toJS = toJSObjectRef; }; -export fn MarkedArrayBuffer_deallocator(bytes_: *anyopaque, ctx_: *anyopaque) void { - var ctx = @ptrCast(*MarkedArrayBuffer, @alignCast(@alignOf(*MarkedArrayBuffer), ctx_)); - - if (comptime Environment.allow_assert) std.debug.assert(ctx.buffer.ptr == @ptrCast([*]u8, bytes_)); - ctx.destroy(); +export fn MarkedArrayBuffer_deallocator(bytes_: *anyopaque, _: *anyopaque) void { + const mimalloc = @import("../../allocators/mimalloc.zig"); + // zig's memory allocator interface won't work here + // mimalloc knows the size of things + // but we don't + mimalloc.mi_free(bytes_); } pub fn castObj(obj: js.JSObjectRef, comptime Type: type) *Type { |