From 2a283d1c995bb26b54dadd93c00743899a3df426 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Wed, 22 Oct 2025 12:47:44 -0700 Subject: [PATCH] Use createNamedFunction for asyncify wrappers. NFC Also, add an assertion to dynCall. Split out from #25522. --- src/lib/libasync.js | 6 ++++++ src/lib/libcore.js | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/lib/libasync.js b/src/lib/libasync.js index c79e4f6bfccbf..832b7e4b96cc6 100644 --- a/src/lib/libasync.js +++ b/src/lib/libasync.js @@ -21,6 +21,9 @@ addToLibrary({ #if ASYNCIFY $Asyncify__deps: ['$runAndAbortIfError', '$callUserCallback', +#if ASSERTIONS + '$createNamedFunction', +#endif #if !MINIMAL_RUNTIME '$runtimeKeepalivePush', '$runtimeKeepalivePop', #endif @@ -143,6 +146,9 @@ addToLibrary({ #endif #if MAIN_MODULE wrapper.orig = original; +#endif +#if ASSERTIONS + wrapper = createNamedFunction(`__asyncify_wrapper_${original.name}`, wrapper); #endif return wrapper; }, diff --git a/src/lib/libcore.js b/src/lib/libcore.js index 60798aec8b8c3..e40704103b886 100644 --- a/src/lib/libcore.js +++ b/src/lib/libcore.js @@ -1775,6 +1775,9 @@ addToLibrary({ }, $dynCall: (sig, ptr, args = [], promising = false) => { +#if ASSERTIONS + assert(ptr, `null function pointer in dynCall`); +#endif #if ASSERTIONS && (DYNCALLS || !WASM_BIGINT || !JSPI) assert(!promising, 'async dynCall is not supported in this mode') #endif