| var wwParams; |
|
|
| |
| |
| |
| |
| |
| |
| function startWasmWorker(props) { |
| #if RUNTIME_DEBUG |
| dbg('startWasmWorker', props); |
| #endif |
| wwParams = props; |
| wasmMemory = props.wasmMemory; |
| updateMemoryViews(); |
| #if MINIMAL_RUNTIME |
| Module ||= {}; |
| Module['wasm'] = props.wasm; |
| loadModule() |
| #else |
| wasmModule = props.wasm; |
| #if MODULARIZE == 'instance' |
| init(); |
| #else |
| createWasm(); |
| run(); |
| #endif |
| #endif |
| |
| |
| props.wasm = props.wasmMemory = 0; |
| } |
|
|
| #if AUDIO_WORKLET |
| if (ENVIRONMENT_IS_WASM_WORKER && !ENVIRONMENT_IS_AUDIO_WORKLET) { |
| #else |
| if (ENVIRONMENT_IS_WASM_WORKER) { |
| #endif |
| #if RUNTIME_DEBUG |
| dbg('wasm worker starting ...'); |
| #endif |
|
|
| #if ENVIRONMENT_MAY_BE_NODE |
| |
| if (ENVIRONMENT_IS_NODE) { |
| |
| |
| var wrappedHandlers = new WeakMap(); |
| |
| globalThis.onmessage = null; |
| function wrapMsgHandler(h) { |
| var f = wrappedHandlers.get(h) |
| if (!f) { |
| f = (msg) => h({data: msg}); |
| wrappedHandlers.set(h, f); |
| } |
| return f; |
| } |
|
|
| Object.assign(globalThis, { |
| addEventListener: (name, handler) => parentPort['on'](name, wrapMsgHandler(handler)), |
| removeEventListener: (name, handler) => parentPort['off'](name, wrapMsgHandler(handler)), |
| }); |
| } |
| #endif |
|
|
| onmessage = (d) => { |
| |
| |
| |
| |
| |
| onmessage = null; |
| #if RUNTIME_DEBUG |
| dbg('wasm worker initial onmessage'); |
| #endif |
| startWasmWorker(d.data); |
| } |
|
|
| } |
|
|