From bdb1b7124aec3ca42a13dd13309df4c8e4e3cc64 Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Tue, 13 Jun 2023 09:15:05 -0700 Subject: Fix crash in CJS (#3294) * Fix crash in CJS * Add std.heap.ArenaAllocator * Use our arena allocator * Reduce JS parser memory usage and make HMR faster * Write some comments * fix test failure & clean up this code * Update javascript.zig * make arena usage safer --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- src/bun.js/bindings/ModuleLoader.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/bun.js/bindings/ModuleLoader.cpp') diff --git a/src/bun.js/bindings/ModuleLoader.cpp b/src/bun.js/bindings/ModuleLoader.cpp index 035cd15c8..ed1e5702b 100644 --- a/src/bun.js/bindings/ModuleLoader.cpp +++ b/src/bun.js/bindings/ModuleLoader.cpp @@ -282,7 +282,7 @@ static JSValue handleVirtualModuleResult( return reject(JSValue::decode(reinterpret_cast(res->result.err.ptr))); } - auto provider = Zig::SourceProvider::create(res->result.value); + auto provider = Zig::SourceProvider::create(globalObject, res->result.value); return resolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(provider))); } case OnLoadResultTypeError: { @@ -346,7 +346,7 @@ extern "C" void Bun__onFulfillAsyncModule( return promise->reject(promise->globalObject(), exception); } - auto provider = Zig::SourceProvider::create(res->result.value); + auto provider = Zig::SourceProvider::create(jsDynamicCast(globalObject), res->result.value); promise->resolve(promise->globalObject(), JSC::JSSourceCode::create(vm, JSC::SourceCode(provider))); } @@ -457,8 +457,8 @@ static JSValue fetchSourceCode( return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); } default: { - auto provider = Zig::SourceProvider::create(res->result.value); - return rejectOrResolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(WTFMove(provider)))); + auto&& provider = Zig::SourceProvider::create(globalObject, res->result.value); + return rejectOrResolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(provider))); } } } @@ -488,8 +488,8 @@ static JSValue fetchSourceCode( return reject(exception); } - auto provider = Zig::SourceProvider::create(res->result.value); - return rejectOrResolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(WTFMove(provider)))); + auto&& provider = Zig::SourceProvider::create(globalObject, res->result.value); + return rejectOrResolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(provider))); } extern "C" JSC::EncodedJSValue jsFunctionOnLoadObjectResultResolve(JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame) -- cgit v1.2.3