From 243a237a62c26ecbcc79d7216e82fdfb4a2ae14b Mon Sep 17 00:00:00 2001 From: Zack Radisic Date: Sat, 27 Sep 2025 00:29:14 -0700 Subject: [PATCH] use jsc call conv --- src/bake/DevServer.zig | 16 +++++----------- .../bindings/BakeAdditionsToGlobalObject.cpp | 14 +++++++------- .../bindings/BakeAdditionsToGlobalObject.h | 6 +++--- src/bun.js/bindings/JSBunRequest.cpp | 2 +- src/bun.js/webcore/Request.zig | 2 +- 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/bake/DevServer.zig b/src/bake/DevServer.zig index 9ec7ed28ca..a3b1f69d53 100644 --- a/src/bake/DevServer.zig +++ b/src/bake/DevServer.zig @@ -1311,9 +1311,9 @@ fn appendRouteEntryPointsIfNotStale(dev: *DevServer, entry_points: *EntryPointLi } } -extern "C" fn Bake__getEnsureAsyncLocalStorageInstanceJSFunction(global: *bun.jsc.JSGlobalObject) bun.jsc.JSValue; -extern "C" fn Bake__getBundleNewRouteJSFunction(global: *bun.jsc.JSGlobalObject) bun.jsc.JSValue; -extern "C" fn Bake__getNewRouteParamsJSFunction(global: *bun.jsc.JSGlobalObject) bun.jsc.JSValue; +extern "C" fn Bake__getEnsureAsyncLocalStorageInstanceJSFunction(global: *bun.jsc.JSGlobalObject) callconv(jsc.conv) bun.jsc.JSValue; +extern "C" fn Bake__getBundleNewRouteJSFunction(global: *bun.jsc.JSGlobalObject) callconv(jsc.conv) bun.jsc.JSValue; +extern "C" fn Bake__getNewRouteParamsJSFunction(global: *bun.jsc.JSGlobalObject) callconv(jsc.conv) bun.jsc.JSValue; fn computeArgumentsForFrameworkRequest( dev: *DevServer, @@ -4503,10 +4503,7 @@ const PromiseEnsureRouteBundledCtx = struct { }; export fn Bake__bundleNewRouteJSFunctionImpl(global: *bun.jsc.JSGlobalObject, request_ptr: *anyopaque, url: bun.String) callconv(jsc.conv) bun.jsc.JSValue { - return bundleNewRouteJSFunctionImpl(global, request_ptr, url) catch |e| { - if (e == error.OutOfMemory) bun.outOfMemory(); - return .zero; - }; + return bun.jsc.toJSHostCall(global, @src(), bundleNewRouteJSFunctionImpl, .{ global, request_ptr, url }); } fn bundleNewRouteJSFunctionImpl(global: *bun.jsc.JSGlobalObject, request_ptr: *anyopaque, url_bunstr: bun.String) bun.JSError!bun.jsc.JSValue { @@ -4583,10 +4580,7 @@ pub fn createDevServerFrameworkRequestArgsObject( } export fn Bake__getNewRouteParamsJSFunctionImpl(global: *bun.jsc.JSGlobalObject, callframe: *jsc.CallFrame) callconv(jsc.conv) bun.jsc.JSValue { - return newRouteParamsForBundlePromiseForJS(global, callframe) catch |e| { - if (e == error.OutOfMemory) bun.outOfMemory(); - return .zero; - }; + return bun.jsc.toJSHostCall(global, @src(), newRouteParamsForBundlePromiseForJS, .{ global, callframe }); } fn newRouteParamsForBundlePromiseForJS(global: *bun.jsc.JSGlobalObject, callframe: *jsc.CallFrame) bun.JSError!bun.jsc.JSValue { diff --git a/src/bun.js/bindings/BakeAdditionsToGlobalObject.cpp b/src/bun.js/bindings/BakeAdditionsToGlobalObject.cpp index 84831ba8f9..7512fd284b 100644 --- a/src/bun.js/bindings/BakeAdditionsToGlobalObject.cpp +++ b/src/bun.js/bindings/BakeAdditionsToGlobalObject.cpp @@ -21,7 +21,7 @@ void createDevServerFrameworkRequestArgsStructure(JSC::LazyClassStructure::Initi init.setStructure(structure); } -extern "C" EncodedJSValue Bake__createDevServerFrameworkRequestArgsObject(JSC::JSGlobalObject* globalObject, EncodedJSValue routerTypeMain, EncodedJSValue routeModules, EncodedJSValue clientEntryUrl, EncodedJSValue styles, EncodedJSValue params) +extern "C" SYSV_ABI EncodedJSValue Bake__createDevServerFrameworkRequestArgsObject(JSC::JSGlobalObject* globalObject, EncodedJSValue routerTypeMain, EncodedJSValue routeModules, EncodedJSValue clientEntryUrl, EncodedJSValue styles, EncodedJSValue params) { auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); auto& vm = globalObject->vm(); @@ -44,20 +44,20 @@ extern "C" EncodedJSValue Bake__createDevServerFrameworkRequestArgsObject(JSC::J return JSValue::encode(object); } -extern "C" JSC::EncodedJSValue Bake__getAsyncLocalStorage(JSC::JSGlobalObject* globalObject) +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getAsyncLocalStorage(JSC::JSGlobalObject* globalObject) { auto* zig = reinterpret_cast(globalObject); auto value = zig->bakeAdditions().getAsyncLocalStorage(zig); return JSValue::encode(value); } -extern "C" JSC::EncodedJSValue Bake__getEnsureAsyncLocalStorageInstanceJSFunction(JSC::JSGlobalObject* globalObject) +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getEnsureAsyncLocalStorageInstanceJSFunction(JSC::JSGlobalObject* globalObject) { auto* zig = reinterpret_cast(globalObject); return JSValue::encode(zig->bakeAdditions().ensureAsyncLocalStorageInstanceJSFunction(globalObject)); } -extern "C" JSC::EncodedJSValue Bake__getSSRResponseConstructor(JSC::JSGlobalObject* globalObject) +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getSSRResponseConstructor(JSC::JSGlobalObject* globalObject) { auto* zig = reinterpret_cast(globalObject); return JSValue::encode(zig->bakeAdditions().JSBakeResponseConstructor(globalObject)); @@ -82,14 +82,14 @@ BUN_DEFINE_HOST_FUNCTION(jsFunctionBakeEnsureAsyncLocalStorage, (JSC::JSGlobalOb return JSValue::encode(jsUndefined()); } -extern "C" JSC::EncodedJSValue Bake__getBundleNewRouteJSFunction(JSC::JSGlobalObject* globalObject) +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getBundleNewRouteJSFunction(JSC::JSGlobalObject* globalObject) { auto* zig = reinterpret_cast(globalObject); auto value = zig->bakeAdditions().getBundleNewRouteJSFunction(zig); return JSValue::encode(value); } -extern "C" JSC::EncodedJSValue Bake__bundleNewRouteJSFunctionImpl(JSC::JSGlobalObject* globalObject, void* requestPtr, BunString url); +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__bundleNewRouteJSFunctionImpl(JSC::JSGlobalObject* globalObject, void* requestPtr, BunString url); BUN_DEFINE_HOST_FUNCTION(jsFunctionBakeGetBundleNewRouteJSFunction, (JSC::JSGlobalObject * globalObject, JSC::CallFrame* callframe)) { auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); @@ -122,7 +122,7 @@ BUN_DEFINE_HOST_FUNCTION(jsFunctionBakeGetBundleNewRouteJSFunction, (JSC::JSGlob return Bake__bundleNewRouteJSFunctionImpl(globalObject, request->m_ctx, url); } -extern "C" JSC::EncodedJSValue Bake__getNewRouteParamsJSFunction(JSC::JSGlobalObject* globalObject) +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getNewRouteParamsJSFunction(JSC::JSGlobalObject* globalObject) { auto* zig = reinterpret_cast(globalObject); auto value = zig->bakeAdditions().getNewRouteParamsJSFunction(zig); diff --git a/src/bun.js/bindings/BakeAdditionsToGlobalObject.h b/src/bun.js/bindings/BakeAdditionsToGlobalObject.h index af2ec12917..f4ab636bd6 100644 --- a/src/bun.js/bindings/BakeAdditionsToGlobalObject.h +++ b/src/bun.js/bindings/BakeAdditionsToGlobalObject.h @@ -17,10 +17,10 @@ BUN_DECLARE_HOST_FUNCTION(jsFunctionBakeGetAsyncLocalStorage); BUN_DECLARE_HOST_FUNCTION(jsFunctionBakeEnsureAsyncLocalStorage); BUN_DECLARE_HOST_FUNCTION(jsFunctionBakeGetBundleNewRouteJSFunction); -extern "C" JSC::EncodedJSValue Bake__getEnsureAsyncLocalStorageInstanceJSFunction(JSC::JSGlobalObject* globalObject); -extern "C" JSC::EncodedJSValue Bake__getAsyncLocalStorage(JSC::JSGlobalObject* globalObject); +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getEnsureAsyncLocalStorageInstanceJSFunction(JSC::JSGlobalObject* globalObject); +extern "C" SYSV_ABI JSC::EncodedJSValue Bake__getAsyncLocalStorage(JSC::JSGlobalObject* globalObject); -extern "C" EncodedJSValue Bake__createDevServerFrameworkRequestArgsObject(JSC::JSGlobalObject* globalObject, EncodedJSValue routerTypeMain, EncodedJSValue routeModules, EncodedJSValue clientEntryUrl, EncodedJSValue styles, EncodedJSValue params); +extern "C" SYSV_ABI EncodedJSValue Bake__createDevServerFrameworkRequestArgsObject(JSC::JSGlobalObject* globalObject, EncodedJSValue routerTypeMain, EncodedJSValue routeModules, EncodedJSValue clientEntryUrl, EncodedJSValue styles, EncodedJSValue params); void createDevServerFrameworkRequestArgsStructure(JSC::LazyClassStructure::Initializer& init); diff --git a/src/bun.js/bindings/JSBunRequest.cpp b/src/bun.js/bindings/JSBunRequest.cpp index 0d159a6bf7..38347bfc82 100644 --- a/src/bun.js/bindings/JSBunRequest.cpp +++ b/src/bun.js/bindings/JSBunRequest.cpp @@ -17,7 +17,7 @@ namespace Bun { -extern "C" JSC::EncodedJSValue Bun__JSRequest__createForBake(Zig::GlobalObject* globalObject, void* requestPtr) +extern "C" SYSV_ABI JSC::EncodedJSValue Bun__JSRequest__createForBake(Zig::GlobalObject* globalObject, void* requestPtr) { auto& vm = globalObject->vm(); auto scope = DECLARE_THROW_SCOPE(vm); diff --git a/src/bun.js/webcore/Request.zig b/src/bun.js/webcore/Request.zig index bf8fa005ed..079bba237f 100644 --- a/src/bun.js/webcore/Request.zig +++ b/src/bun.js/webcore/Request.zig @@ -178,7 +178,7 @@ pub fn toJS(this: *Request, globalObject: *JSGlobalObject) JSValue { return js.toJSUnchecked(globalObject, this); } -extern "C" fn Bun__JSRequest__createForBake(globalObject: *jsc.JSGlobalObject, requestPtr: *Request) jsc.JSValue; +extern "C" fn Bun__JSRequest__createForBake(globalObject: *jsc.JSGlobalObject, requestPtr: *Request) callconv(jsc.conv) jsc.JSValue; pub fn toJSForBake(this: *Request, globalObject: *JSGlobalObject) bun.JSError!JSValue { return bun.jsc.fromJSHostCall( globalObject,