Phase 8 in the parent repo. Deleted: asyncify-scheduler.js, apply-asyncify.sh, apply-finalize.sh, inject-dyncall-shims.sh, asyncify-imports/removelist.txt, the wasm-opt/finalize stub pair, scripts/binaryen-hoist-pass/ (the fork stays a dormant submodule; removal is a follow-up), bench/wasm-opt-bench.sh (README marked historical), wasm/shims/context_sleep.cpp, and the sched-context harness app + Makefile targets. PCBJAM_ASYNC_BACKEND is gone: build-wx-wasm.sh hardcodes the jspi stamp (still force-cleans pre-migration trees), build-kicad-target.sh gives editors the JSPI link surface and the CLIs nothing (they pin ASYNCIFY=0), the stub dance is replaced by an unconditional .real-restore, build-wasm-test.sh lost its whole post-link loop, docker/build.sh's postprocess is the ENV shim only, and Makefile.wasm links every app JSPI with the scheduler shim as a tracked prerequisite. pcbjam_async_policy.h keys on __EMSCRIPTEN__. jspi-scheduler.js: wxWasmMainLoopPump dropped from the wrap census (the export died with the D5 detach); inert [TRACE] instrumentation removed. CI: wasm-build.yml rewritten for the single-cache pipeline (one output cache keyed on compile inputs; post-processed bytes cached after the shim); opt_level input removed from both callers. wasm-cache-hash.mjs inputs now cover patch-env-shim.mjs + jspi-scheduler.js + jspi-exports.txt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NDeBaKKhQztd8KiVtHuyXr
20 lines
758 B
C
20 lines
758 B
C
/*
|
|
* PCBJAM_PARKER_POLICY — registration policy for the suspending embind
|
|
* exports (the doc-18 "PARKER" class: kicadOpenFile / kicadOpenFiles /
|
|
* kicadLibsReload, whose bodies park on wx wait tokens mid-load).
|
|
*
|
|
* They MUST be registered emscripten::async() so embind wraps the invoker in
|
|
* WebAssembly.promising — the call returns a real Promise and the suspension
|
|
* is legal. Without it the first park throws SuspendError ("trying to
|
|
* suspend without WebAssembly.promising").
|
|
*
|
|
* Usage (note the macro carries its own leading comma):
|
|
* function( "kicadOpenFile", &kicadOpenFile PCBJAM_PARKER_POLICY );
|
|
*/
|
|
#pragma once
|
|
|
|
#ifdef __EMSCRIPTEN__
|
|
#define PCBJAM_PARKER_POLICY , emscripten::async()
|
|
#else
|
|
#define PCBJAM_PARKER_POLICY
|
|
#endif
|