diff --git a/utils/jsffi/post-link.mjs b/utils/jsffi/post-link.mjs index 02fb631f0ac71cc405ef87d6c844a690630d85d2..9e3e06435127ffc99f2bf01eb622c569053ba0af 100755 --- a/utils/jsffi/post-link.mjs +++ b/utils/jsffi/post-link.mjs @@ -62,7 +62,7 @@ export async function postLink(mod) { // Keep this in sync with dyld.mjs! src = `${src}\nexport default (__exports) => {`; src = `${src}\nconst __ghc_wasm_jsffi_jsval_manager = new JSValManager();`; - src = `${src}\nconst __ghc_wasm_jsffi_finalization_registry = new FinalizationRegistry(sp => __exports.rts_freeStablePtr(sp));`; + src = `${src}\nconst __ghc_wasm_jsffi_finalization_registry = globalThis.FinalizationRegistry ? new FinalizationRegistry(sp => __exports.rts_freeStablePtr(sp)) : { register: () => {}, unregister: () => true };`; src = `${src}\nreturn {`; src = `${src}\nnewJSVal: (v) => __ghc_wasm_jsffi_jsval_manager.newJSVal(v),`; src = `${src}\ngetJSVal: (k) => __ghc_wasm_jsffi_jsval_manager.getJSVal(k),`;