File size: 2,809 Bytes
2976aff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"use strict";
var Module = {};

function threadPrintErr() {
    var text = Array.prototype.slice.call(arguments).join(" ");
    console.error(text)
}

function threadAlert() {
    var text = Array.prototype.slice.call(arguments).join(" ");
    postMessage({ cmd: "alert", text: text, threadId: Module["_pthread_self"]() })
}
var err = threadPrintErr;
self.alert = threadAlert;
Module["instantiateWasm"] = ((info, receiveInstance) => {
    var instance = new WebAssembly.Instance(Module["wasmModule"], info);
    receiveInstance(instance);
    Module["wasmModule"] = null;
    return instance.exports
});
self.onmessage = (e => {
    try {
        if (e.data.cmd === "load") {
            Module["wasmModule"] = e.data.wasmModule;
            Module["wasmMemory"] = e.data.wasmMemory;
            Module["buffer"] = Module["wasmMemory"].buffer;
            Module["ENVIRONMENT_IS_PTHREAD"] = true;
            if (typeof e.data.urlOrBlob == "string") { importScripts(e.data.urlOrBlob) } else {
                var objectUrl = URL.createObjectURL(e.data.urlOrBlob);
                importScripts(objectUrl);
                URL.revokeObjectURL(objectUrl)
            }
            Godot(Module).then(function(instance) { Module = instance })
        } else if (e.data.cmd === "run") {
            Module["__performance_now_clock_drift"] = performance.now() - e.data.time;
            Module["__emscripten_thread_init"](e.data.threadInfoStruct, 0, 0, 1);
            Module["establishStackSpace"]();
            Module["PThread"].receiveObjectTransfer(e.data);
            Module["PThread"].threadInit();
            try { var result = Module["invokeEntryPoint"](e.data.start_routine, e.data.arg); if (Module["keepRuntimeAlive"]()) { Module["PThread"].setExitStatus(result) } else { Module["__emscripten_thread_exit"](result) } } catch (ex) { if (ex != "unwind") { if (ex instanceof Module["ExitStatus"]) { if (Module["keepRuntimeAlive"]()) {} else { Module["__emscripten_thread_exit"](ex.status) } } else { throw ex } } }
        } else if (e.data.cmd === "cancel") { if (Module["_pthread_self"]()) { Module["__emscripten_thread_exit"](-1) } } else if (e.data.target === "setimmediate") {} else if (e.data.cmd === "processThreadQueue") { if (Module["_pthread_self"]()) { Module["_emscripten_current_thread_process_queued_calls"]() } } else if (e.data.cmd === "processProxyingQueue") { if (Module["_pthread_self"]()) { Module["_emscripten_proxy_execute_queue"](e.data.queue) } } else {
            err("worker.js received unknown command " + e.data.cmd);
            err(e.data)
        }
    } catch (ex) { err("worker.js onmessage() captured an uncaught exception: " + ex); if (ex && ex.stack) err(ex.stack); if (Module["__emscripten_thread_crashed"]) { Module["__emscripten_thread_crashed"]() } throw ex }
});