diff options
author | 2023-06-13 09:15:05 -0700 | |
---|---|---|
committer | 2023-06-13 09:15:05 -0700 | |
commit | bdb1b7124aec3ca42a13dd13309df4c8e4e3cc64 (patch) | |
tree | 57a7a278699999521f561959204a533ea9906f8e /src/bun.js/bindings/ModuleLoader.cpp | |
parent | b93bdbb124fc7b1b4a09d414158e0107e8d66b92 (diff) | |
download | bun-bdb1b7124aec3ca42a13dd13309df4c8e4e3cc64.tar.gz bun-bdb1b7124aec3ca42a13dd13309df4c8e4e3cc64.tar.zst bun-bdb1b7124aec3ca42a13dd13309df4c8e4e3cc64.zip |
Fix crash in CJS (#3294)bun-v0.6.9
* 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>
Diffstat (limited to 'src/bun.js/bindings/ModuleLoader.cpp')
-rw-r--r-- | src/bun.js/bindings/ModuleLoader.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
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<EncodedJSValue>(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<Zig::GlobalObject*>(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) |