mirror of
https://github.com/oven-sh/bun
synced 2026-02-12 03:48:56 +00:00
Various safety improvements (safety.ThreadLock, stack traces, MimallocArena, RefCount, safety.alloc) (#21726)
* Move `DebugThreadLock` to `bun.safety` * Enable in `ci_assert` builds, but store stack traces only in debug builds * Reduce size of struct by making optional field non-optional * Add `initLockedIfNonComptime` as a workaround for not being able to call `initLocked` in comptime contexts * Add `lockOrAssert` method to acquire the lock if unlocked, or else assert that the current thread acquired the lock * Add stack traces to `CriticalSection` and `AllocPtr` in debug builds * Make `MimallocArena.init` infallible * Make `MimallocArena.heap` non-nullable * Rename `RefCount.active_counts` to `raw_count` and provide read-only `get` method * Add `bun.safety.alloc.assertEq` to assert that two allocators are equal (avoiding comparison of undefined `ptr`s) (For internal tracking: fixes STAB-917, STAB-918, STAB-962, STAB-963, STAB-964, STAB-965) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
@@ -195,7 +195,7 @@ pub fn init(opts: *const InitOpts) void {
|
||||
|
||||
pub fn onStart(opts: InitOpts) void {
|
||||
Output.Source.configureNamedThread("HTTP Client");
|
||||
bun.http.default_arena = Arena.init() catch unreachable;
|
||||
bun.http.default_arena = Arena.init();
|
||||
bun.http.default_allocator = bun.http.default_arena.allocator();
|
||||
|
||||
const loop = bun.jsc.MiniEventLoop.initGlobal(null);
|
||||
|
||||
Reference in New Issue
Block a user