@@ -1,14 +1,21 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // This code implements the `-sMODULARIZE` settings by taking the generated
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // JS program code (INNER_JS_CODE) and wrapping it in a factory function.
1 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Single threaded MINIMAL_RUNTIME programs do not need access to
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // document.currentScript, so a simple export declaration is enough.
2 6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var initPikchrModule = (() => {
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function(moduleArg = {}) {
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var moduleRtn;
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // When MODULARIZE this JS may be executed later,
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // after document.currentScript is gone, so we save it.
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // In EXPORT_ES6 mode we can just use 'import.meta.url'.
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _scriptName = globalThis.document?.currentScript?.src;
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return async function(moduleArg = {}) {
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var moduleRtn;
8 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
9 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: shell.js
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: minimum_runtime_check.js
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: minimum_runtime_check.js
10 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// The Module object: Our interface to the outside world. We import
11 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// and export values on it. There are various ways Module can be used:
12 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// 1. Not defined. We create it here
13 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// 2. A function parameter, function(moduleArg) => Promise<Module>
14 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// 3. pre-run appended it, var Module = {}; ..generated code..
@@ -20,33 +27,18 @@
20 27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// after the generated code, you will need to define var Module = {};
21 28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// before the code. Then that object will be used in the code, and you
22 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// can continue to use Module afterwards as well.
23 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var Module = moduleArg;
24 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Set up the promise that indicates the Module is initialized
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var readyPromiseResolve, readyPromiseReject;
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var readyPromise = new Promise((resolve, reject) => {
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseResolve = resolve;
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject = reject;
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
33 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Determine the runtime environment we are in. You can customize this by
34 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// setting the ENVIRONMENT setting at compile time (see settings.js).
35 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var ENVIRONMENT_IS_WEB = true;
36 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
37 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var ENVIRONMENT_IS_WORKER = false;
38 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
39 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// --pre-jses are emitted after the Module integration code, so that they can
40 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// refer to Module (if they choose; they can also define Module)
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Sometimes an existing Module object exists with properties
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // meant to overwrite the default module functionality. Here
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // we collect those properties and reapply _after_ we configure
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // the current environment's defaults to avoid having to be so
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // defensive during initialization.
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var moduleOverrides = Object.assign({}, Module);
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
48 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var arguments_ = [];
49 41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
50 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var thisProgram = "./this.program";
51 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
52 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var quit_ = (status, toThrow) => {
@@ -68,67 +60,31 @@
68 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
69 61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Note that this includes Node.js workers when relevant (pthreads is enabled).
70 62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
71 63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// ENVIRONMENT_IS_NODE.
72 64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (ENVIRONMENT_IS_WORKER) {
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Check worker, not web, since window could be polyfilled
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = self.location.href;
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (typeof document != "undefined" && document.currentScript) {
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // web
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = document.currentScript.src;
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // When MODULARIZE, this JS may be executed later, after document.currentScript
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // is gone, so we saved it, and we use it here instead of any other info.
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (_scriptName) {
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = _scriptName;
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // otherwise, slice off the final part of the url to find the script directory.
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // and scriptDirectory will correctly be replaced with an empty string.
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // they are removed because they could contain a slash.
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (scriptDirectory.startsWith("blob:")) {
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = "";
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = new URL(".", _scriptName).href;
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch {}
96 68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{
97 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: web_or_worker_shell_read.js
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readAsync = url => fetch(url, {
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(response => {
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readAsync = async url => {
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await fetch(url, {
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
101 74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (response.ok) {
102 75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return response.arrayBuffer();
103 76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Promise.reject(new Error(response.status + " : " + response.url));
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else // end include: web_or_worker_shell_read.js
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {}
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var out = Module["print"] || console.log.bind(console);
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var err = Module["printErr"] || console.error.bind(console);
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Merge back in the overrides
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Object.assign(Module, moduleOverrides);
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Free the object hierarchy contained in the overrides, this lets the GC
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // reclaim data used.
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- moduleOverrides = null;
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Emit code to handle expected values on the Module object. This applies Module.x
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // to the proper local x. This has two benefits: first, we only emit it if it is
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // expected to arrive, and second, by using a local everywhere else that can be
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // minified.
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["arguments"]) arguments_ = Module["arguments"];
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ throw new Error(response.status + " : " + response.url);
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {}
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var out = console.log.bind(console);
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var err = console.error.bind(console);
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
130 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// end include: shell.js
131 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: preamble.js
132 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// === Preamble library stuff ===
133 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Documentation for the public APIs defined in this file must be updated in:
134 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// site/source/docs/api_reference/preamble.js.rst
@@ -135,130 +91,87 @@
135 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// A prebuilt local version of the documentation is available at:
136 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// site/build/text/docs/api_reference/preamble.js.txt
137 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// You can also build docs locally as HTML or other formats in site/
138 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// An online HTML version (which may be of a different version of Emscripten)
139 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmBinary = Module["wasmBinary"];
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmBinary;
141 97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
142 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Wasm globals
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmMemory;
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
145 99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
//========================================
146 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Runtime essentials
147 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
//========================================
148 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// whether we are quitting the application. no code should run after this.
149 103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// set in exit() and abort()
150 104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var ABORT = false;
151 105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
152 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// set by exit() and abort(). Passed to 'onExit' handler.
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // NOTE: This is also used as the process return code code in shell environments
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // NOTE: This is also used as the process return code in shell environments
154 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// but only when noExitRuntime is false.
155 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var EXITSTATUS;
156 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_common.js
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_stack_check.js
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_stack_check.js
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_exceptions.js
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_exceptions.js
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_debug.js
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_debug.js
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var readyPromiseResolve, readyPromiseReject;
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
157 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Memory management
158 121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64;
159 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_shared.js
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // BigInt64Array type is not correctly defined in closure
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var /** not-@type {!BigInt64Array} */ HEAP64, /* BigUint64Array type is not correctly defined in closure
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** not-@type {!BigUint64Array} */ HEAPU64;
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var runtimeInitialized = false;
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
161 129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function updateMemoryViews() {
162 130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var b = wasmMemory.buffer;
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP8"] = HEAP8 = new Int8Array(b);
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP16"] = HEAP16 = new Int16Array(b);
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP32"] = HEAP32 = new Int32Array(b);
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_shared.js
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_stack_check.js
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_stack_check.js
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPRERUN__ = [];
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called before the runtime is initialized
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATINIT__ = [];
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called during shutdown
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPOSTRUN__ = [];
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // functions called after the main() is called
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runtimeInitialized = false;
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP8 = new Int8Array(b);
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP16 = new Int16Array(b);
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPU8 = new Uint8Array(b);
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPU16 = new Uint16Array(b);
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP32 = new Int32Array(b);
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPU32 = new Uint32Array(b);
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPF32 = new Float32Array(b);
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPF64 = new Float64Array(b);
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP64 = new BigInt64Array(b);
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPU64 = new BigUint64Array(b);
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: memoryprofiler.js
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: memoryprofiler.js
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_common.js
187 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function preRun() {
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var preRuns = Module["preRun"];
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (preRuns) {
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof preRuns == "function") preRuns = [ preRuns ];
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preRuns.forEach(addOnPreRun);
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["preRun"]) {
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["preRun"].length) {
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPreRun(Module["preRun"].shift());
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
192 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPRERUN__);
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin ATPRERUNS hooks
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPreRuns);
194 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
195 156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
196 157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function initRuntime() {
197 158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
runtimeInitialized = true;
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATINIT__);
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // No ATINITS hooks
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmExports["e"]();
199 161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
200 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
201 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function postRun() {
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var postRuns = Module["postRun"];
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (postRuns) {
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof postRuns == "function") postRuns = [ postRuns ];
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- postRuns.forEach(addOnPostRun);
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPOSTRUN__);
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPreRun(cb) {
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPRERUN__.unshift(cb);
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnInit(cb) {
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATINIT__.unshift(cb);
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPostRun(cb) {
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPOSTRUN__.unshift(cb);
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_math.js
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_math.js
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // A counter of dependencies for calling run(). If we need to
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // do asynchronous work before running, increment this and
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // decrement it. Incrementing must happen in a place like
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Module.preRun (used by emcc to add file preloading).
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Note that you can add dependencies in preRun, even though
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // it happens right before run - run will be postponed until
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // the dependencies are met.
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runDependencies = 0;
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runDependencyWatcher = null;
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var dependenciesFulfilled = null;
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addRunDependency(id) {
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencies++;
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["monitorRunDependencies"]?.(runDependencies);
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function removeRunDependency(id) {
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencies--;
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["monitorRunDependencies"]?.(runDependencies);
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies == 0) {
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencyWatcher !== null) {
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- clearInterval(runDependencyWatcher);
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencyWatcher = null;
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (dependenciesFulfilled) {
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var callback = dependenciesFulfilled;
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dependenciesFulfilled = null;
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callback();
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // PThreads reuse the runtime from the main thread.
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["postRun"]) {
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["postRun"].length) {
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPostRun(Module["postRun"].shift());
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin ATPOSTRUNS hooks
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPostRuns);
260 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
261 174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
262 175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @param {string|number=} what */ function abort(what) {
263 176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["onAbort"]?.(what);
264 177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
what = "Aborted(" + what + ")";
@@ -278,163 +191,154 @@
278 191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Suppress closure compiler warning here. Closure compiler's builtin extern
279 192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// definition for WebAssembly.RuntimeError claims it takes no arguments even
280 193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// though it can.
281 194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
282 195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what);
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject(e);
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject?.(e);
284 197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Throw the error whether or not MODULARIZE is set because abort is used
285 198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// in code paths apart from instantiation where an exception is expected
286 199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// to be thrown when abort is called.
287 200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
throw e;
288 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
289 202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: memoryprofiler.js
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: memoryprofiler.js
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: URIUtils.js
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Prefix of data URIs emitted by SINGLE_FILE and related options.
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var dataURIPrefix = "data:application/octet-stream;base64,";
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Indicates whether filename is a base64 data URI.
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @noinline
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var isDataURI = filename => filename.startsWith(dataURIPrefix);
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: URIUtils.js
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_exceptions.js
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_exceptions.js
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmBinaryFile;
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
304 205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function findWasmBinary() {
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var f = "pikchr-v2813665466.wasm";
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!isDataURI(f)) {
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return locateFile(f);
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return f;
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmBinaryFile;
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return locateFile("pikchr-v8806526039.wasm");
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
313 208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
314 209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function getBinarySync(file) {
315 210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (file == wasmBinaryFile && wasmBinary) {
316 211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return new Uint8Array(wasmBinary);
317 212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
318 213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (readBinary) {
319 214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return readBinary(file);
320 215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Throwing a plain string here, even though it not normally advisable since
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // this gets turning into an `abort` in instantiateArrayBuffer.
321 218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
throw "both async and sync fetching of the wasm failed";
322 219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
323 220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getBinaryPromise(binaryFile) {
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function getWasmBinary(binaryFile) {
325 222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// If we don't have the binary yet, load it asynchronously using readAsync.
326 223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (!wasmBinary) {
327 224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Fetch the binary using readAsync
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */ (response)), // Fall back to getBinarySync if readAsync fails
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- () => getBinarySync(binaryFile));
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await readAsync(binaryFile);
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Uint8Array(response);
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch {}
330 229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
331 230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Otherwise, getBinarySync should be able to get it synchronously
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Promise.resolve().then(() => getBinarySync(binaryFile));
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return getBinarySync(binaryFile);
333 232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
334 233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateArrayBuffer(binaryFile, imports, receiver) {
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => {
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateArrayBuffer(binaryFile, imports) {
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var binary = await getWasmBinary(binaryFile);
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instance = await WebAssembly.instantiate(binary, imports);
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instance;
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
337 240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
err(`failed to asynchronously prepare wasm: ${reason}`);
338 241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
abort(reason);
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateAsync(binary, binaryFile, imports, callback) {
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") {
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return fetch(binaryFile, {
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(response => {
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Suppress closure warning here since the upstream definition for
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // instantiateStreaming only allows Promise<Repsponse> rather than
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // an actual Response.
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed.
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports);
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result.then(callback, function(reason) {
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // We expect the most common failure cause to be a bad MIME type for the binary,
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // in which case falling back to ArrayBuffer instantiation should work.
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err(`wasm streaming compile failed: ${reason}`);
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("falling back to ArrayBuffer instantiation");
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(binaryFile, imports, callback);
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(binaryFile, imports, callback);
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateAsync(binary, binaryFile, imports) {
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!binary) {
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = fetch(binaryFile, {
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiationResult;
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We expect the most common failure cause to be a bad MIME type for the binary,
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // in which case falling back to ArrayBuffer instantiation should work.
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err(`wasm streaming compile failed: ${reason}`);
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err("falling back to ArrayBuffer instantiation");
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiateArrayBuffer(binaryFile, imports);
362 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
363 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
364 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function getWasmImports() {
365 264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// prepare imports
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return {
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var imports = {
367 266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"a": wasmImports
368 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return imports;
369 269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
370 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
371 271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Create the wasm instance.
372 272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Receives the wasm imports, returns the exports.
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function createWasm() {
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var info = getWasmImports();
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function createWasm() {
375 274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Load the wasm module and create an instance of using native support in the JS engine.
376 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// handle a generated wasm instance, receiving its exports and
377 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// performing other necessary setup
378 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) {
379 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wasmExports = instance.exports;
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wasmMemory = wasmExports["d"];
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ assignWasmExports(wasmExports);
381 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
updateMemoryViews();
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addOnInit(wasmExports["e"]);
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- removeRunDependency("wasm-instantiate");
384 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return wasmExports;
385 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // wait for the pthread pool (if any)
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addRunDependency("wasm-instantiate");
388 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Prefer streaming instantiation if available.
389 284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function receiveInstantiationResult(result) {
390 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// 'result' is a ResultObject object which has both the module and instance.
391 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
392 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
393 288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// When the regression is fixed, can restore the above PTHREADS-enabled path.
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- receiveInstance(result["instance"]);
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return receiveInstance(result["instance"]);
395 290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var info = getWasmImports();
396 292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
397 293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// to manually instantiate the Wasm module themselves. This allows pages to
398 294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// run the instantiation parallel to any other async startup actions they are
399 295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// performing.
400 296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Also pthreads and wasm workers initialize the wasm instance through this
401 297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// path.
402 298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["instantiateWasm"]) {
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Module["instantiateWasm"](info, receiveInstance);
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } catch (e) {
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err(`Module.instantiateWasm callback failed with error: ${e}`);
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If instantiation fails, reject the module ready promise.
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject(e);
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Promise((resolve, reject) => {
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["instantiateWasm"](info, (inst, mod) => {
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ resolve(receiveInstance(inst, mod));
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
410 304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
411 305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wasmBinaryFile ??= findWasmBinary();
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If instantiation fails, reject the module ready promise.
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return {};
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var exports = receiveInstantiationResult(result);
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return exports;
415 309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
416 310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: runtime_debug.js
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // end include: runtime_debug.js
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // === Body ===
420 311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// end include: preamble.js
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @constructor */ function ExitStatus(status) {
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.name = "ExitStatus";
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.message = `Program terminated with exit(${status})`;
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.status = status;
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin JS library code
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ class ExitStatus {
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ name="ExitStatus";
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ constructor(status) {
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.message = `Program terminated with exit(${status})`;
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.status = status;
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
425 319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
426 320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
427 321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var callRuntimeCallbacks = callbacks => {
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Pass the module as the first argument.
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks.forEach(f => f(Module));
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (callbacks.length > 0) {
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Pass the module as the first argument.
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callbacks.shift()(Module);
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
430 326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
431 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPostRuns = [];
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPostRun = cb => onPostRuns.push(cb);
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPreRuns = [];
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPreRun = cb => onPreRuns.push(cb);
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
432 336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number} ptr
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {string} type
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ function getValue(ptr, type = "i8") {
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string} type
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ function getValue(ptr, type = "i8") {
436 340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (type.endsWith("*")) type = "*";
437 341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
switch (type) {
438 342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i1":
439 343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return HEAP8[ptr];
440 344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -446,11 +350,11 @@
446 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
447 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i32":
448 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return HEAP32[((ptr) >> 2)];
449 353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
450 354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i64":
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("to do getValue(i64) use WASM_BIGINT");
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP64[((ptr) >> 3)];
452 356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
453 357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "float":
454 358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return HEAPF32[((ptr) >> 2)];
455 359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
456 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "double":
@@ -462,17 +366,17 @@
462 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
default:
463 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
abort(`invalid type for getValue: ${type}`);
464 368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
465 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
466 370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var noExitRuntime = Module["noExitRuntime"] || true;
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var noExitRuntime = true;
468 372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
469 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number} ptr
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number} value
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {string} type
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ function setValue(ptr, value, type = "i8") {
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} value
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string} type
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ function setValue(ptr, value, type = "i8") {
474 378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (type.endsWith("*")) type = "*";
475 379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
switch (type) {
476 380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i1":
477 381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HEAP8[ptr] = value;
478 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
@@ -488,11 +392,12 @@
488 392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i32":
489 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HEAP32[((ptr) >> 2)] = value;
490 394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
491 395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
492 396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "i64":
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("to do setValue(i64) use WASM_BIGINT");
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP64[((ptr) >> 3)] = BigInt(value);
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
494 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
495 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
case "float":
496 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
HEAPF32[((ptr) >> 2)] = value;
497 402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
498 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -511,85 +416,42 @@
511 416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
512 417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var stackRestore = val => __emscripten_stack_restore(val);
513 418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
514 419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var stackSave = () => _emscripten_stack_get_current();
515 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder : undefined;
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * array that contains uint8 values, returns a copy of that string as a
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Javascript String object.
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * heapOrArray is either a regular array, or a JavaScript typed array view.
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number=} idx
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number=} maxBytesToRead
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @return {string}
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var endIdx = idx + maxBytesToRead;
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var endPtr = idx;
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // TextDecoder needs to know the byte length in advance, it doesn't stop on
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // null terminator by itself. Also, use the length info to avoid running tiny
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // strings through TextDecoder, since .subarray() allocates garbage.
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // (As a tiny code save trick, compare endPtr against endIdx using a negation,
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // so that undefined/NaN means Infinity)
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var str = "";
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If building with TextDecoder, we have already computed the string length
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // above, so test loop end condition against that
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (idx < endPtr) {
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // For UTF8 byte structure, see:
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // http://en.wikipedia.org/wiki/UTF-8#Description
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://www.ietf.org/rfc/rfc2279.txt
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // https://tools.ietf.org/html/rfc3629
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u0 = heapOrArray[idx++];
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(u0 & 128)) {
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(u0);
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u1 = heapOrArray[idx++] & 63;
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((u0 & 224) == 192) {
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u2 = heapOrArray[idx++] & 63;
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((u0 & 240) == 224) {
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63);
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (u0 < 65536) {
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(u0);
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ch = u0 - 65536;
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return str;
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /**
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * emscripten HEAP, returns a copy of that string as a Javascript String object.
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- *
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number} ptr
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {number=} maxBytesToRead - An optional length that specifies the
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * maximum number of bytes to read. You can omit this parameter to scan the
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * string until the first 0 byte. If maxBytesToRead is passed, and the string
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * string will cut short at that byte index (i.e. maxBytesToRead will not
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * frequent uses of UTF8ToString() with and without maxBytesToRead may throw
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * JS JIT optimizations off, so it is worth to consider consistently using one
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @return {string}
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ___assert_fail = (condition, filename, line, func) => {
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var UTF8Decoder = new TextDecoder;
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var maxIdx = idx + maxBytesToRead;
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (ignoreNul) return maxIdx;
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // null terminator by itself.
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // As a tiny code save trick, compare idx against maxIdx using a negation,
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // so that maxBytesToRead=undefined/NaN means Infinity.
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return idx;
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * emscripten HEAP, returns a copy of that string as a Javascript String object.
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number=} maxBytesToRead - An optional length that specifies the
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * maximum number of bytes to read. You can omit this parameter to scan the
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * string until the first 0 byte. If maxBytesToRead is passed, and the string
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * string will cut short at that byte index.
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {boolean=} ignoreNul - If true, the function will not stop on a NUL character.
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @return {string}
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => {
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!ptr) return "";
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var end = findStringEnd(HEAPU8, ptr, maxBytesToRead, ignoreNul);
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
591 453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
592 454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var abortOnCannotGrowMemory = requestedSize => {
593 455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
abort("OOM");
594 456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
595 457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -611,11 +473,11 @@
611 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ABORT = true;
612 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
613 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
quit_(code, new ExitStatus(code));
614 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
615 477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @suppress {duplicate } */ /** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => {
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => {
617 479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
EXITSTATUS = status;
618 480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
_proc_exit(status);
619 481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
620 482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
621 483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var _exit = exitJS;
@@ -659,23 +521,14 @@
659 521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (!(maxBytesToWrite > 0)) return 0;
660 522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var startIdx = outIdx;
661 523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var endIdx = outIdx + maxBytesToWrite - 1;
662 524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// -1 for string null terminator.
663 525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for (var i = 0; i < str.length; ++i) {
664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // unit, not a Unicode code point of the character! So decode
666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // UTF16->UTF32->UTF8.
667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // See http://unicode.org/faq/utf_bom.html#utf16-3
668 526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
669 527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// and https://www.ietf.org/rfc/rfc2279.txt
670 528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// and https://tools.ietf.org/html/rfc3629
671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u = str.charCodeAt(i);
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // possibly a lead surrogate
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (u >= 55296 && u <= 57343) {
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u1 = str.charCodeAt(++i);
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u = 65536 + ((u & 1023) << 10) | (u1 & 1023);
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u = str.codePointAt(i);
677 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (u <= 127) {
678 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (outIdx >= endIdx) break;
679 532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx++] = u;
680 533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else if (u <= 2047) {
681 534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (outIdx + 1 >= endIdx) break;
@@ -690,10 +543,13 @@
690 543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (outIdx + 3 >= endIdx) break;
691 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx++] = 240 | (u >> 18);
692 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx++] = 128 | ((u >> 12) & 63);
693 546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx++] = 128 | ((u >> 6) & 63);
694 547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx++] = 128 | (u & 63);
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Gotcha: if codePoint is over 0xFFFF, it is represented as a surrogate pair in UTF-16.
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We need to manually skip over the second code unit for correct iteration.
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ i++;
695 551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
696 552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
697 553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Null-terminate the pointer to the buffer.
698 554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
heap[outIdx] = 0;
699 555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return outIdx - startIdx;
@@ -709,15 +565,15 @@
709 565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
stringToUTF8(str, ret, size);
710 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return ret;
711 567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
712 568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
713 569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {string|null=} returnType
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {Array=} argTypes
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {Arguments|Array=} args
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {Object=} opts
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var ccall = (ident, returnType, argTypes, args, opts) => {
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string|null=} returnType
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Array=} argTypes
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Array=} args
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Object=} opts
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var ccall = (ident, returnType, argTypes, args, opts) => {
719 575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// For fast lookup of conversion functions
720 576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var toC = {
721 577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"string": str => {
722 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var ret = 0;
723 579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (str !== null && str !== undefined && str !== 0) {
@@ -761,14 +617,14 @@
761 617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ret = onDone(ret);
762 618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return ret;
763 619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
764 620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
765 621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/**
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {string=} returnType
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {Array=} argTypes
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- * @param {Object=} opts
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- */ var cwrap = (ident, returnType, argTypes, opts) => {
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string=} returnType
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Array=} argTypes
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Object=} opts
625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var cwrap = (ident, returnType, argTypes, opts) => {
770 626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// When the function takes numbers and returns a number, we can just return
771 627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// the original function
772 628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var numericArgs = !argTypes || argTypes.every(type => type === "number" || type === "boolean");
773 629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var numericRet = returnType !== "string";
774 630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (numericRet && numericArgs && !opts) {
@@ -775,32 +631,32 @@
775 631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return getCFunc(ident);
776 632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
777 633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return (...args) => ccall(ident, returnType, argTypes, args, opts);
778 634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
779 635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmImports = {
781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @export */ a: ___assert_fail,
782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @export */ b: _emscripten_resize_heap,
783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /** @export */ c: _exit
784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmExports = createWasm();
787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["e"])();
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _pikchr_version = Module["_pikchr_version"] = () => (_pikchr_version = Module["_pikchr_version"] = wasmExports["g"])();
791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _pikchr = Module["_pikchr"] = (a0, a1, a2, a3, a4) => (_pikchr = Module["_pikchr"] = wasmExports["h"])(a0, a1, a2, a3, a4);
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["i"])(a0);
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["j"])(a0);
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["k"])();
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // include: postamble.js
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // === Auto-generated postamble setup entry stuff ===
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // End JS library code
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: postlibrary.js
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // This file is included after the automatically-generated JS library code
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // but before the wasm module is created.
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin ATMODULES hooks
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["print"]) out = Module["print"];
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["printErr"]) err = Module["printErr"];
645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // End ATMODULES hooks
647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["arguments"]) arguments_ = Module["arguments"];
648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["preInit"]) {
650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["preInit"].length > 0) {
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["preInit"].shift()();
653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin runtime exports
802 658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackSave"] = stackSave;
803 659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
804 660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackRestore"] = stackRestore;
805 661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
806 662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackAlloc"] = stackAlloc;
@@ -811,42 +667,44 @@
811 667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
812 668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["setValue"] = setValue;
813 669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
814 670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["getValue"] = getValue;
815 671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var calledRun;
817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var calledPrerun;
819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dependenciesFulfilled = function runCaller() {
821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) run();
823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) dependenciesFulfilled = runCaller;
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // End runtime exports
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Begin JS library exports
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // End JS library exports
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: postlibrary.js
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Imports from the Wasm binary.
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _pikchr_version, _pikchr, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, memory, __indirect_function_table, wasmMemory;
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function assignWasmExports(wasmExports) {
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ _pikchr_version = Module["_pikchr_version"] = wasmExports["f"];
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ _pikchr = Module["_pikchr"] = wasmExports["g"];
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ __emscripten_stack_restore = wasmExports["h"];
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ __emscripten_stack_alloc = wasmExports["i"];
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ _emscripten_stack_get_current = wasmExports["j"];
685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ memory = wasmMemory = wasmExports["d"];
686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ __indirect_function_table = wasmExports["__indirect_function_table"];
687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmImports = {
690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ a: ___assert_fail,
691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ b: _emscripten_resize_heap,
692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ c: _exit
824 693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
825 694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // try this again later, after new deps are fulfilled
695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: postamble.js
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // === Auto-generated postamble setup entry stuff ===
827 697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function run() {
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies > 0) {
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledPrerun) {
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- calledPrerun = 1;
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preRun();
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // a preRun added a dependency, run will be called later
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies > 0) {
836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ preRun();
839 699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function doRun() {
840 700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// run may have just been called through dependencies being fulfilled just in this very frame,
841 701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// or while the async setStatus time below was happening
842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (calledRun) return;
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- calledRun = 1;
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["calledRun"] = 1;
702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["calledRun"] = true;
845 703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (ABORT) return;
846 704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
initRuntime();
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseResolve(Module);
705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseResolve?.(Module);
848 706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["onRuntimeInitialized"]?.();
849 707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
postRun();
850 708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
851 709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["setStatus"]) {
852 710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["setStatus"]("Running...");
@@ -857,31 +715,43 @@
857 715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {
858 716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
doRun();
859 717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
860 718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
861 719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["preInit"]) {
863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (Module["preInit"].length > 0) {
865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["preInit"].pop()();
866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmExports;
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // In modularize mode the generated code is within a factory function so we
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // can use await here (since it's not top-level-await).
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmExports = await (createWasm());
868 725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
869 726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
run();
870 727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
871 728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// end include: postamble.js
872 729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// include: postamble_modularize.js
873 730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// In MODULARIZE mode we wrap the generated code in a factory function
874 731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// and return either the Module itself, or a promise of the module.
875 732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// We assign to the `moduleRtn` global here and configure closure to see
876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- // this as and extern so it won't get minified.
877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- moduleRtn = readyPromise;
878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return moduleRtn;
881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- );
883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- })();
884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof exports === 'object' && typeof module === 'object')
885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- module.exports = initPikchrModule;
886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (typeof define === 'function' && define['amd'])
887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- define([], () => initPikchrModule);
733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // this as an extern so it won't get minified.
734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (runtimeInitialized) {
735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ moduleRtn = Module;
736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Set up the promise that indicates the Module is initialized
738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ moduleRtn = new Promise((resolve, reject) => {
739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseResolve = resolve;
740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject = reject;
741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return moduleRtn;
746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ })();
748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Export using a UMD style export, or ES6 exports if selected
750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof exports === 'object' && typeof module === 'object') {
751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ module.exports = initPikchrModule;
752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // This default export looks redundant, but it allows TS to import this
753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // commonjs style module.
754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ module.exports.default = initPikchrModule;
755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (typeof define === 'function' && define['amd'])
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ define([], () => initPikchrModule);
757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
888 758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!