diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/boringssl.zig | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/boringssl.zig b/src/boringssl.zig index a6e767428..de5277a98 100644 --- a/src/boringssl.zig +++ b/src/boringssl.zig @@ -15,11 +15,8 @@ pub fn load() void { boring.OpenSSL_add_all_algorithms(); if (!builtin.is_test) { - comptime { - @export(bun.Mimalloc.mi_malloc, .{ .name = "OPENSSL_memory_alloc", .linkage = .Strong }); - @export(bun.Mimalloc.mi_usable_size, .{ .name = "OPENSSL_memory_get_size", .linkage = .Strong }); - } - + std.mem.doNotOptimizeAway(&OPENSSL_memory_alloc); + std.mem.doNotOptimizeAway(&OPENSSL_memory_get_size); std.mem.doNotOptimizeAway(&OPENSSL_memory_free); } } @@ -62,9 +59,9 @@ pub fn initClient() *boring.SSL { // into the process, including pthreads locks. Failing to meet these constraints // may result in deadlocks, crashes, or memory corruption. -// export fn OPENSSL_memory_alloc(size: usize) ?*anyopaque { -// return -// } +export fn OPENSSL_memory_alloc(size: usize) ?*anyopaque { + return bun.Mimalloc.mi_malloc(size); +} // BoringSSL always expects memory to be zero'd export fn OPENSSL_memory_free(ptr: *anyopaque) void { @@ -72,9 +69,9 @@ export fn OPENSSL_memory_free(ptr: *anyopaque) void { bun.Mimalloc.mi_free(ptr); } -// export fn OPENSSL_memory_get_size(ptr: ?*const anyopaque) usize { -// return bun.Mimalloc.mi_usable_size(ptr); -// } +export fn OPENSSL_memory_get_size(ptr: ?*const anyopaque) usize { + return bun.Mimalloc.mi_usable_size(ptr); +} test "load" { load(); |