aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-06 17:08:04 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-06 17:08:21 -0800
commit58185e139a9c8502e5a6afcd5ab5f9682552a731 (patch)
tree6fe8045c6f07e60dbc6a9556ba3251bdaa67720d
parent51d69d8c853ee634084c10b21720c0e201cc7721 (diff)
downloadbun-58185e139a9c8502e5a6afcd5ab5f9682552a731.tar.gz
bun-58185e139a9c8502e5a6afcd5ab5f9682552a731.tar.zst
bun-58185e139a9c8502e5a6afcd5ab5f9682552a731.zip
Add check
Diffstat (limited to '')
-rw-r--r--src/memory_allocator.zig2
-rw-r--r--src/mimalloc_arena.zig8
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(