aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-11 03:09:57 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-11 03:09:57 -0800
commit313ad01e4213f0297221fef0c2ba454244b40c55 (patch)
tree0777573f29507b230ec5e9096c3d6c58934bf62c /src
parent44b0c8153a7092f97c36c5aab82b692f672c3ddf (diff)
downloadbun-313ad01e4213f0297221fef0c2ba454244b40c55.tar.gz
bun-313ad01e4213f0297221fef0c2ba454244b40c55.tar.zst
bun-313ad01e4213f0297221fef0c2ba454244b40c55.zip
fix bug with freeing typed arrays
Diffstat (limited to 'src')
-rw-r--r--src/javascript/jsc/base.zig11
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 {