diff options
author | 2022-12-06 17:08:04 -0800 | |
---|---|---|
committer | 2022-12-06 17:08:21 -0800 | |
commit | 58185e139a9c8502e5a6afcd5ab5f9682552a731 (patch) | |
tree | 6fe8045c6f07e60dbc6a9556ba3251bdaa67720d | |
parent | 51d69d8c853ee634084c10b21720c0e201cc7721 (diff) | |
download | bun-58185e139a9c8502e5a6afcd5ab5f9682552a731.tar.gz bun-58185e139a9c8502e5a6afcd5ab5f9682552a731.tar.zst bun-58185e139a9c8502e5a6afcd5ab5f9682552a731.zip |
Add check
Diffstat (limited to '')
-rw-r--r-- | src/memory_allocator.zig | 2 | ||||
-rw-r--r-- | src/mimalloc_arena.zig | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/memory_allocator.zig b/src/memory_allocator.zig index a4f79cd16..2e21bbfa1 100644 --- a/src/memory_allocator.zig +++ b/src/memory_allocator.zig @@ -147,7 +147,7 @@ const ZAllocator = struct { else mimalloc.mi_zalloc_aligned(len, alignment); - return @ptrCast([*]u8, ptr orelse null); + return @ptrCast([*]u8, ptr orelse return null); } fn alignedAllocSize(ptr: [*]u8) usize { diff --git a/src/mimalloc_arena.zig b/src/mimalloc_arena.zig index 76fd56000..5ce127cb4 100644 --- a/src/mimalloc_arena.zig +++ b/src/mimalloc_arena.zig @@ -163,10 +163,12 @@ pub const Arena = struct { fn alignedAlloc(heap: *mimalloc.Heap, len: usize, alignment: usize) ?[*]u8 { if (comptime FeatureFlags.log_allocations) std.debug.print("Malloc: {d}\n", .{len}); - // this is the logic that posix_memalign does - var ptr = mimalloc.mi_heap_malloc_aligned(heap, len, alignment); + var ptr = if (mi_malloc_satisfies_alignment(alignment, len)) + mimalloc.mi_heap_malloc(heap, len) + else + mimalloc.mi_heap_malloc_aligned(heap, len, alignment); - return @ptrCast([*]u8, ptr orelse null); + return @ptrCast([*]u8, ptr orelse return null); } pub fn alloc( |