diff --git a/cpp/BloomFilter.cpp b/cpp/BloomFilter.cpp index f8ab9a9..86f3edb 100644 --- a/cpp/BloomFilter.cpp +++ b/cpp/BloomFilter.cpp @@ -66,28 +66,18 @@ BloomFilter::~BloomFilter() const char *BloomFilter::getInternalPointer() const { -#if IS_BIG_ENDIAN - throw std::runtime_error("Big endian systems are not supported"); -#endif return reinterpret_cast(internal); } char *BloomFilter::getMutableInternalPointer() { -#if IS_BIG_ENDIAN - throw std::runtime_error("Big endian systems are not supported"); -#endif return reinterpret_cast(internal); } -// Zero-copy constructor BloomFilter::BloomFilter(const char *buff) { -#if IS_BIG_ENDIAN - throw std::runtime_error("Big endian systems are not supported"); -#endif - internal = - const_cast(reinterpret_cast(buff)); + internal = const_cast( + reinterpret_cast(buff)); } auto BloomFilter::hashString(const std::string &value, uint32_t seed) -> uint32_t diff --git a/cpp/BloomFilter.hpp b/cpp/BloomFilter.hpp index cad5e1d..3640269 100644 --- a/cpp/BloomFilter.hpp +++ b/cpp/BloomFilter.hpp @@ -5,19 +5,11 @@ #include #include -// TODO: check these preprocessor directives.. #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) -#define IS_BIG_ENDIAN 1 -#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) -#define IS_BIG_ENDIAN 0 +#error "TODO: Big Endian support" #elif defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || \ defined(__AARCH64EB__) || defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__) -#define IS_BIG_ENDIAN 1 -#elif defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__THUMBEL__) || \ - defined(__AARCH64EL__) || defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__) -#define IS_BIG_ENDIAN 0 -#else -#error "Unable to determine endianness, manual configuration required" +#error "TODO: Big Endian support" #endif class FalsePositiveRate diff --git a/cpp/bloom_filter.js b/cpp/bloom_filter.js new file mode 100644 index 0000000..43f02ef --- /dev/null +++ b/cpp/bloom_filter.js @@ -0,0 +1,2463 @@ +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(moduleArg) => Promise +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof Module != "undefined" ? Module : {}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). +var ENVIRONMENT_IS_WEB = true; + +var ENVIRONMENT_IS_WORKER = false; + +var ENVIRONMENT_IS_NODE = false; + +var ENVIRONMENT_IS_SHELL = false; + +if (Module["ENVIRONMENT"]) { + throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"); +} + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; + +var thisProgram = "./this.program"; + +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ""; + +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var readAsync, readBinary; + +if (ENVIRONMENT_IS_SHELL) { + if ((typeof process == "object" && typeof require === "function") || typeof window == "object" || typeof importScripts == "function") throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); +} else // Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { + // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != "undefined" && document.currentScript) { + // web + scriptDirectory = document.currentScript.src; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.startsWith("blob:")) { + scriptDirectory = ""; + } else { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1); + } + if (!(typeof window == "object" || typeof importScripts == "function")) throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)"); + { + // include: web_or_worker_shell_read.js + readAsync = url => { + assert(!isFileURI(url), "readAsync does not work with file:// URLs"); + return fetch(url, { + credentials: "same-origin" + }).then(response => { + if (response.ok) { + return response.arrayBuffer(); + } + return Promise.reject(new Error(response.status + " : " + response.url)); + }); + }; + } +} else // end include: web_or_worker_shell_read.js +{ + throw new Error("environment detection error"); +} + +var out = Module["print"] || console.log.bind(console); + +var err = Module["printErr"] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); + +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used. +moduleOverrides = null; + +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. +if (Module["arguments"]) arguments_ = Module["arguments"]; + +legacyModuleProp("arguments", "arguments_"); + +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; + +legacyModuleProp("thisProgram", "thisProgram"); + +if (Module["quit"]) quit_ = Module["quit"]; + +legacyModuleProp("quit", "quit_"); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module["memoryInitializerPrefixURL"] == "undefined", "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); + +assert(typeof Module["pthreadMainPrefixURL"] == "undefined", "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); + +assert(typeof Module["cdInitializerPrefixURL"] == "undefined", "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); + +assert(typeof Module["filePackagePrefixURL"] == "undefined", "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); + +assert(typeof Module["read"] == "undefined", "Module.read option was removed"); + +assert(typeof Module["readAsync"] == "undefined", "Module.readAsync option was removed (modify readAsync in JS)"); + +assert(typeof Module["readBinary"] == "undefined", "Module.readBinary option was removed (modify readBinary in JS)"); + +assert(typeof Module["setWindowTitle"] == "undefined", "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"); + +assert(typeof Module["TOTAL_MEMORY"] == "undefined", "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"); + +legacyModuleProp("asm", "wasmExports"); + +legacyModuleProp("readAsync", "readAsync"); + +legacyModuleProp("readBinary", "readBinary"); + +legacyModuleProp("setWindowTitle", "setWindowTitle"); + +var IDBFS = "IDBFS is no longer included by default; build with -lidbfs.js"; + +var PROXYFS = "PROXYFS is no longer included by default; build with -lproxyfs.js"; + +var WORKERFS = "WORKERFS is no longer included by default; build with -lworkerfs.js"; + +var FETCHFS = "FETCHFS is no longer included by default; build with -lfetchfs.js"; + +var ICASEFS = "ICASEFS is no longer included by default; build with -licasefs.js"; + +var JSFILEFS = "JSFILEFS is no longer included by default; build with -ljsfilefs.js"; + +var OPFS = "OPFS is no longer included by default; build with -lopfs.js"; + +var NODEFS = "NODEFS is no longer included by default; build with -lnodefs.js"; + +assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."); + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html +var wasmBinary; + +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; + +legacyModuleProp("wasmBinary", "wasmBinary"); + +if (typeof WebAssembly != "object") { + err("no native wasm support detected"); +} + +// Wasm globals +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we +// don't define it at all in release modes. This matches the behaviour of +// MINIMAL_RUNTIME. +// TODO(sbc): Make this the default even without STRICT enabled. +/** @type {function(*, string=)} */ function assert(condition, text) { + if (!condition) { + abort("Assertion failed" + (text ? ": " + text : "")); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. +// Memory management +var HEAP, /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64; + +// include: runtime_shared.js +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b); +} + +// end include: runtime_shared.js +assert(!Module["STACK_SIZE"], "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"); + +assert(typeof Int32Array != "undefined" && typeof Float64Array !== "undefined" && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, "JS engine does not provide full typed array support"); + +// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY +assert(!Module["wasmMemory"], "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"); + +assert(!Module["INITIAL_MEMORY"], "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"); + +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max) >>> 2) >>> 0] = 34821223; + HEAPU32[(((max) + (4)) >>> 2) >>> 0] = 2310721022; + // Also test the global address 0 for integrity. + HEAPU32[((0) >>> 2) >>> 0] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max) >>> 2) >>> 0]; + var cookie2 = HEAPU32[(((max) + (4)) >>> 2) >>> 0]; + if (cookie1 != 34821223 || cookie2 != 2310721022) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0) >>> 2) >>> 0] != 1668509029) /* 'emsc' */ { + abort("Runtime error: The application has corrupted its heap memory area (address zero)!"); + } +} + +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 25459; + if (h8[0] !== 115 || h8[1] !== 99) throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; + +// functions called before the runtime is initialized +var __ATINIT__ = []; + +// functions called during startup +var __ATEXIT__ = []; + +// functions called during shutdown +var __ATPOSTRUN__ = []; + +// functions called after the main() is called +var runtimeInitialized = false; + +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + checkStackCookie(); + setStackLimits(); + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + checkStackCookie(); + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) {} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); + +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); + +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); + +assert(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; + +var runDependencyWatcher = null; + +var dependenciesFulfilled = null; + +// overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + Module["monitorRunDependencies"]?.(runDependencies); + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != "undefined") { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err("still waiting on run dependencies:"); + } + err(`dependency: ${dep}`); + } + if (shown) { + err("(end of list)"); + } + }, 1e4); + } + } else { + err("warning: run dependency added without ID"); + } +} + +function removeRunDependency(id) { + runDependencies--; + Module["monitorRunDependencies"]?.(runDependencies); + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err("warning: run dependency removed without ID"); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } +} + +/** @param {string|number=} what */ function abort(what) { + Module["onAbort"]?.(what); + what = "Aborted(" + what + ")"; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + ABORT = true; + EXITSTATUS = 1; + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + // Suppress closure compiler warning here. Closure compiler's builtin extern + // definition for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +var FS = { + error() { + abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM"); + }, + init() { + FS.error(); + }, + createDataFile() { + FS.error(); + }, + createPreloadedFile() { + FS.error(); + }, + createLazyFile() { + FS.error(); + }, + open() { + FS.error(); + }, + mkdev() { + FS.error(); + }, + registerDevice() { + FS.error(); + }, + analyzePath() { + FS.error(); + }, + ErrnoError() { + FS.error(); + } +}; + +Module["FS_createDataFile"] = FS.createDataFile; + +Module["FS_createPreloadedFile"] = FS.createPreloadedFile; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = "data:application/octet-stream;base64,"; + +/** + * Indicates whether filename is a base64 data URI. + * @noinline + */ var isDataURI = filename => filename.startsWith(dataURIPrefix); + +/** + * Indicates whether filename is delivered via file protocol (as opposed to http/https) + * @noinline + */ var isFileURI = filename => filename.startsWith("file://"); + +// end include: URIUtils.js +function createExportWrapper(name, nargs) { + return (...args) => { + assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); + var f = wasmExports[name]; + assert(f, `exported native function \`${name}\` not found`); + // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. + assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); + return f(...args); + }; +} + +// include: runtime_exceptions.js +// Base Emscripten EH error class +class EmscriptenEH extends Error {} + +class EmscriptenSjLj extends EmscriptenEH {} + +class CppException extends EmscriptenEH { + constructor(excPtr) { + super(excPtr); + this.excPtr = excPtr; + const excInfo = getExceptionMessage(excPtr); + this.name = excInfo[0]; + this.message = excInfo[1]; + } +} + +// end include: runtime_exceptions.js +function findWasmBinary() { + var f = "bloom_filter.wasm"; + if (!isDataURI(f)) { + return locateFile(f); + } + return f; +} + +var wasmBinaryFile; + +function getBinarySync(file) { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, load it asynchronously using readAsync. + if (!wasmBinary) { + // Fetch the binary using readAsync + return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */ (response)), // Fall back to getBinarySync if readAsync fails + () => getBinarySync(binaryFile)); + } + // Otherwise, getBinarySync should be able to get it synchronously + return Promise.resolve().then(() => getBinarySync(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => { + err(`failed to asynchronously prepare wasm: ${reason}`); + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); + } + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(response => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err(`wasm streaming compile failed: ${reason}`); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } + return instantiateArrayBuffer(binaryFile, imports, callback); +} + +function getWasmImports() { + // prepare imports + return { + "env": wasmImports, + "wasi_snapshot_preview1": wasmImports + }; +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + var info = getWasmImports(); + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) { + wasmExports = instance.exports; + wasmExports = applySignatureConversions(wasmExports); + wasmMemory = wasmExports["memory"]; + assert(wasmMemory, "memory not found in wasm exports"); + updateMemoryViews(); + wasmTable = wasmExports["__indirect_function_table"]; + assert(wasmTable, "table not found in wasm exports"); + addOnInit(wasmExports["__wasm_call_ctors"]); + removeRunDependency("wasm-instantiate"); + return wasmExports; + } + // wait for the pthread pool (if any) + addRunDependency("wasm-instantiate"); + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + trueModule = null; + // 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. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result["instance"]); + } + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module["instantiateWasm"]) { + try { + return Module["instantiateWasm"](info, receiveInstance); + } catch (e) { + err(`Module.instantiateWasm callback failed with error: ${e}`); + return false; + } + } + if (!wasmBinaryFile) wasmBinaryFile = findWasmBinary(); + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult); + return {}; +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; + +var tempI64; + +// include: runtime_debug.js +function legacyModuleProp(prop, newName, incoming = true) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get() { + let extra = incoming ? " (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)" : ""; + abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === "FS_createPath" || name === "FS_createDataFile" || name === "FS_createPreloadedFile" || name === "FS_unlink" || name === "addRunDependency" || // The old FS has some functionality that WasmFS lacks. + name === "FS_createLazyFile" || name === "FS_createDevice" || name === "removeRunDependency"; +} + +function missingGlobal(sym, msg) { + if (typeof globalThis != "undefined") { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); + return undefined; + } + }); + } +} + +missingGlobal("buffer", "Please use HEAP8.buffer or wasmMemory.buffer"); + +missingGlobal("asm", "Please use wasmExports instead"); + +function missingLibrarySymbol(sym) { + if (typeof globalThis != "undefined" && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith("_")) { + librarySymbol = "$" + sym; + } + msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; + if (isExportedByForceFilesystem(sym)) { + msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"; + } + warnOnce(msg); + return undefined; + } + }); + } + // Any symbol that is not included from the JS library is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get() { + var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; + if (isExportedByForceFilesystem(sym)) { + msg += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"; + } + abort(msg); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(...args) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn(...args); +} + +// end include: runtime_debug.js +// === Body === +// end include: preamble.js +/** @constructor */ function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = `Program terminated with exit(${status})`; + this.status = status; +} + +var callRuntimeCallbacks = callbacks => { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } +}; + +/** + * @param {number} ptr + * @param {string} type + */ function getValue(ptr, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + return HEAP8[ptr >>> 0]; + + case "i8": + return HEAP8[ptr >>> 0]; + + case "i16": + return HEAP16[((ptr) >>> 1) >>> 0]; + + case "i32": + return HEAP32[((ptr) >>> 2) >>> 0]; + + case "i64": + abort("to do getValue(i64) use WASM_BIGINT"); + + case "float": + return HEAPF32[((ptr) >>> 2) >>> 0]; + + case "double": + return HEAPF64[((ptr) >>> 3) >>> 0]; + + case "*": + return HEAPU32[((ptr) >>> 2) >>> 0]; + + default: + abort(`invalid type for getValue: ${type}`); + } +} + +var noExitRuntime = Module["noExitRuntime"] || true; + +var ptrToString = ptr => { + assert(typeof ptr === "number"); + return "0x" + ptr.toString(16).padStart(8, "0"); +}; + +var setStackLimits = () => { + var stackLow = _emscripten_stack_get_base(); + var stackHigh = _emscripten_stack_get_end(); + ___set_stack_limits(stackLow, stackHigh); +}; + +/** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ function setValue(ptr, value, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + HEAP8[ptr >>> 0] = value; + break; + + case "i8": + HEAP8[ptr >>> 0] = value; + break; + + case "i16": + HEAP16[((ptr) >>> 1) >>> 0] = value; + break; + + case "i32": + HEAP32[((ptr) >>> 2) >>> 0] = value; + break; + + case "i64": + abort("to do setValue(i64) use WASM_BIGINT"); + + case "float": + HEAPF32[((ptr) >>> 2) >>> 0] = value; + break; + + case "double": + HEAPF64[((ptr) >>> 3) >>> 0] = value; + break; + + case "*": + HEAPU32[((ptr) >>> 2) >>> 0] = value; + break; + + default: + abort(`invalid type for setValue: ${type}`); + } +} + +var stackRestore = val => __emscripten_stack_restore(val); + +var stackSave = () => _emscripten_stack_get_current(); + +var warnOnce = text => { + warnOnce.shown ||= {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +}; + +var convertI32PairToI53Checked = (lo, hi) => { + assert(lo == (lo >>> 0) || lo == (lo | 0)); + // lo should either be a i32 or a u32 + assert(hi === (hi | 0)); + // hi should be a i32 + return ((hi + 2097152) >>> 0 < 4194305 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; +}; + +var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder : undefined; + +/** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { + idx >>>= 0; + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ""; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 248) != 240) warnOnce("Invalid UTF-8 leading byte " + ptrToString(u0) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!"); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + return str; +}; + +/** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ var UTF8ToString = (ptr, maxBytesToRead) => { + assert(typeof ptr == "number", `UTF8ToString expects a number (got ${typeof ptr})`); + ptr >>>= 0; + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; +}; + +function ___assert_fail(condition, filename, line, func) { + condition >>>= 0; + filename >>>= 0; + func >>>= 0; + abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]); +} + +var exceptionCaught = []; + +var uncaughtExceptionCount = 0; + +function ___cxa_begin_catch(ptr) { + ptr >>>= 0; + var info = new ExceptionInfo(ptr); + if (!info.get_caught()) { + info.set_caught(true); + uncaughtExceptionCount--; + } + info.set_rethrown(false); + exceptionCaught.push(info); + ___cxa_increment_exception_refcount(info.excPtr); + return info.get_exception_ptr(); +} + +var exceptionLast = 0; + +var ___cxa_end_catch = () => { + // Clear state flag. + _setThrew(0, 0); + assert(exceptionCaught.length > 0); + // Call destructor if one is registered then clear it. + var info = exceptionCaught.pop(); + ___cxa_decrement_exception_refcount(info.excPtr); + exceptionLast = 0; +}; + +// XXX in decRef? +class ExceptionInfo { + // excPtr - Thrown object pointer to wrap. Metadata pointer is calculated from it. + constructor(excPtr) { + this.excPtr = excPtr; + this.ptr = excPtr - 24; + } + set_type(type) { + HEAPU32[(((this.ptr) + (4)) >>> 2) >>> 0] = type; + } + get_type() { + return HEAPU32[(((this.ptr) + (4)) >>> 2) >>> 0]; + } + set_destructor(destructor) { + HEAPU32[(((this.ptr) + (8)) >>> 2) >>> 0] = destructor; + } + get_destructor() { + return HEAPU32[(((this.ptr) + (8)) >>> 2) >>> 0]; + } + set_caught(caught) { + caught = caught ? 1 : 0; + HEAP8[(this.ptr) + (12) >>> 0] = caught; + } + get_caught() { + return HEAP8[(this.ptr) + (12) >>> 0] != 0; + } + set_rethrown(rethrown) { + rethrown = rethrown ? 1 : 0; + HEAP8[(this.ptr) + (13) >>> 0] = rethrown; + } + get_rethrown() { + return HEAP8[(this.ptr) + (13) >>> 0] != 0; + } + // Initialize native structure fields. Should be called once after allocated. + init(type, destructor) { + this.set_adjusted_ptr(0); + this.set_type(type); + this.set_destructor(destructor); + } + set_adjusted_ptr(adjustedPtr) { + HEAPU32[(((this.ptr) + (16)) >>> 2) >>> 0] = adjustedPtr; + } + get_adjusted_ptr() { + return HEAPU32[(((this.ptr) + (16)) >>> 2) >>> 0]; + } + // Get pointer which is expected to be received by catch clause in C++ code. It may be adjusted + // when the pointer is casted to some of the exception object base classes (e.g. when virtual + // inheritance is used). When a pointer is thrown this method should return the thrown pointer + // itself. + get_exception_ptr() { + // Work around a fastcomp bug, this code is still included for some reason in a build without + // exceptions support. + var isPointer = ___cxa_is_pointer_type(this.get_type()); + if (isPointer) { + return HEAPU32[((this.excPtr) >>> 2) >>> 0]; + } + var adjusted = this.get_adjusted_ptr(); + if (adjusted !== 0) return adjusted; + return this.excPtr; + } +} + +function ___resumeException(ptr) { + ptr >>>= 0; + if (!exceptionLast) { + exceptionLast = new CppException(ptr); + } + throw exceptionLast; +} + +var setTempRet0 = val => __emscripten_tempret_set(val); + +var findMatchingCatch = args => { + var thrown = exceptionLast?.excPtr; + if (!thrown) { + // just pass through the null ptr + setTempRet0(0); + return 0; + } + var info = new ExceptionInfo(thrown); + info.set_adjusted_ptr(thrown); + var thrownType = info.get_type(); + if (!thrownType) { + // just pass through the thrown ptr + setTempRet0(0); + return thrown; + } + // can_catch receives a **, add indirection + // The different catch blocks are denoted by different types. + // Due to inheritance, those types may not precisely match the + // type of the thrown object. Find one which matches, and + // return the type of the catch block which should be called. + for (var caughtType of args) { + if (caughtType === 0 || caughtType === thrownType) { + // Catch all clause matched or exactly the same type is caught + break; + } + var adjusted_ptr_addr = info.ptr + 16; + if (___cxa_can_catch(caughtType, thrownType, adjusted_ptr_addr)) { + setTempRet0(caughtType); + return thrown; + } + } + setTempRet0(thrownType); + return thrown; +}; + +function ___cxa_find_matching_catch_2() { + return findMatchingCatch([]); +} + +function ___cxa_find_matching_catch_3(arg0) { + arg0 >>>= 0; + return findMatchingCatch([ arg0 ]); +} + +function ___cxa_throw(ptr, type, destructor) { + ptr >>>= 0; + type >>>= 0; + destructor >>>= 0; + var info = new ExceptionInfo(ptr); + // Initialize ExceptionInfo content after it was allocated in __cxa_allocate_exception. + info.init(type, destructor); + exceptionLast = new CppException(ptr); + uncaughtExceptionCount++; + throw exceptionLast; +} + +function ___handle_stack_overflow(requested) { + requested >>>= 0; + var base = _emscripten_stack_get_base(); + var end = _emscripten_stack_get_end(); + abort(`stack overflow (Attempt to set SP to ${ptrToString(requested)}` + `, with stack limits [${ptrToString(end)} - ${ptrToString(base)}` + "]). If you require more stack space build with -sSTACK_SIZE="); +} + +var __abort_js = () => { + abort("native code called abort()"); +}; + +var nowIsMonotonic = 1; + +var __emscripten_get_now_is_monotonic = () => nowIsMonotonic; + +function __emscripten_memcpy_js(dest, src, num) { + dest >>>= 0; + src >>>= 0; + num >>>= 0; + return HEAPU8.copyWithin(dest >>> 0, src >>> 0, src + num >>> 0); +} + +var _emscripten_date_now = () => Date.now(); + +var _emscripten_get_now; + +// Modern environment where performance.now() is supported: +// N.B. a shorter form "_emscripten_get_now = performance.now;" is +// unfortunately not allowed even in current browsers (e.g. FF Nightly 75). +_emscripten_get_now = () => performance.now(); + +var reallyNegative = x => x < 0 || (x === 0 && (1 / x) === -Infinity); + +var convertI32PairToI53 = (lo, hi) => { + // This function should not be getting called with too large unsigned numbers + // in high part (if hi >= 0x7FFFFFFFF, one should have been calling + // convertU32PairToI53()) + assert(hi === (hi | 0)); + return (lo >>> 0) + hi * 4294967296; +}; + +var convertU32PairToI53 = (lo, hi) => (lo >>> 0) + (hi >>> 0) * 4294967296; + +var reSign = (value, bits) => { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits - 1)) : // abs is needed if bits == 32 + Math.pow(2, bits - 1); + // for huge values, we can hit the precision limit and always get true here. + // so don't do that but, in general there is no perfect solution here. With + // 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + if (value >= half && (bits <= 32 || value > half)) { + // Cannot bitshift half, as it may be at the limit of the bits JS uses in + // bitshifts + value = -2 * half + value; + } + return value; +}; + +var unSign = (value, bits) => { + if (value >= 0) { + return value; + } + // Need some trickery, since if bits == 32, we are right at the limit of the + // bits JS uses in bitshifts + return bits <= 32 ? 2 * Math.abs(1 << (bits - 1)) + value : Math.pow(2, bits) + value; +}; + +var strLen = ptr => { + var end = ptr; + while (HEAPU8[end >>> 0]) ++end; + return end - ptr; +}; + +var lengthBytesUTF8 = str => { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); + // possibly a lead surrogate + if (c <= 127) { + len++; + } else if (c <= 2047) { + len += 2; + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i; + } else { + len += 3; + } + } + return len; +}; + +var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { + outIdx >>>= 0; + assert(typeof str === "string", `stringToUTF8Array expects a string (got ${typeof str})`); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); + // possibly a lead surrogate + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | (u1 & 1023); + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++ >>> 0] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++ >>> 0] = 192 | (u >> 6); + heap[outIdx++ >>> 0] = 128 | (u & 63); + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++ >>> 0] = 224 | (u >> 12); + heap[outIdx++ >>> 0] = 128 | ((u >> 6) & 63); + heap[outIdx++ >>> 0] = 128 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 1114111) warnOnce("Invalid Unicode code point " + ptrToString(u) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."); + heap[outIdx++ >>> 0] = 240 | (u >> 18); + heap[outIdx++ >>> 0] = 128 | ((u >> 12) & 63); + heap[outIdx++ >>> 0] = 128 | ((u >> 6) & 63); + heap[outIdx++ >>> 0] = 128 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx >>> 0] = 0; + return outIdx - startIdx; +}; + +/** @type {function(string, boolean=, number=)} */ function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} + +var formatString = (format, varargs) => { + assert((varargs & 3) === 0); + var textIndex = format; + var argIndex = varargs; + // This must be called before reading a double or i64 vararg. It will bump the pointer properly. + // It also does an assert on i32 values, so it's nice to call it before all varargs calls. + function prepVararg(ptr, type) { + if (type === "double" || type === "i64") { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + } + function getNextArg(type) { + // NOTE: Explicitly ignoring type safety. Otherwise this fails: + // int x = 4; printf("%c\n", (char)x); + var ret; + argIndex = prepVararg(argIndex, type); + if (type === "double") { + ret = HEAPF64[((argIndex) >>> 3) >>> 0]; + argIndex += 8; + } else if (type == "i64") { + ret = [ HEAP32[((argIndex) >>> 2) >>> 0], HEAP32[(((argIndex) + (4)) >>> 2) >>> 0] ]; + argIndex += 8; + } else { + assert((argIndex & 3) === 0); + type = "i32"; + // varargs are always i32, i64, or double + ret = HEAP32[((argIndex) >>> 2) >>> 0]; + argIndex += 4; + } + return ret; + } + var ret = []; + var curr, next, currArg; + while (1) { + var startTextIndex = textIndex; + curr = HEAP8[textIndex >>> 0]; + if (curr === 0) break; + next = HEAP8[textIndex + 1 >>> 0]; + if (curr == 37) { + // Handle flags. + var flagAlwaysSigned = false; + var flagLeftAlign = false; + var flagAlternative = false; + var flagZeroPad = false; + var flagPadSign = false; + flagsLoop: while (1) { + switch (next) { + case 43: + flagAlwaysSigned = true; + break; + + case 45: + flagLeftAlign = true; + break; + + case 35: + flagAlternative = true; + break; + + case 48: + if (flagZeroPad) { + break flagsLoop; + } else { + flagZeroPad = true; + break; + } + + case 32: + flagPadSign = true; + break; + + default: + break flagsLoop; + } + textIndex++; + next = HEAP8[textIndex + 1 >>> 0]; + } + // Handle width. + var width = 0; + if (next == 42) { + width = getNextArg("i32"); + textIndex++; + next = HEAP8[textIndex + 1 >>> 0]; + } else { + while (next >= 48 && next <= 57) { + width = width * 10 + (next - 48); + textIndex++; + next = HEAP8[textIndex + 1 >>> 0]; + } + } + // Handle precision. + var precisionSet = false, precision = -1; + if (next == 46) { + precision = 0; + precisionSet = true; + textIndex++; + next = HEAP8[textIndex + 1 >>> 0]; + if (next == 42) { + precision = getNextArg("i32"); + textIndex++; + } else { + while (1) { + var precisionChr = HEAP8[textIndex + 1 >>> 0]; + if (precisionChr < 48 || precisionChr > 57) break; + precision = precision * 10 + (precisionChr - 48); + textIndex++; + } + } + next = HEAP8[textIndex + 1 >>> 0]; + } + if (precision < 0) { + precision = 6; + // Standard default. + precisionSet = false; + } + // Handle integer sizes. WARNING: These assume a 32-bit architecture! + var argSize; + switch (String.fromCharCode(next)) { + case "h": + var nextNext = HEAP8[textIndex + 2 >>> 0]; + if (nextNext == 104) { + textIndex++; + argSize = 1; + } else // char (actually i32 in varargs) + { + argSize = 2; + } + // short (actually i32 in varargs) + break; + + case "l": + var nextNext = HEAP8[textIndex + 2 >>> 0]; + if (nextNext == 108) { + textIndex++; + argSize = 8; + } else // long long + { + argSize = 4; + } + // long + break; + + case "L": + // long long + case "q": + // int64_t + case "j": + // intmax_t + argSize = 8; + break; + + case "z": + // size_t + case "t": + // ptrdiff_t + case "I": + // signed ptrdiff_t or unsigned size_t + argSize = 4; + break; + + default: + argSize = null; + } + if (argSize) textIndex++; + next = HEAP8[textIndex + 1 >>> 0]; + // Handle type specifier. + switch (String.fromCharCode(next)) { + case "d": + case "i": + case "u": + case "o": + case "x": + case "X": + case "p": + { + // Integer. + var signed = next == 100 || next == 105; + argSize = argSize || 4; + currArg = getNextArg("i" + (argSize * 8)); + var argText; + // Flatten i64-1 [low, high] into a (slightly rounded) double + if (argSize == 8) { + currArg = next == 117 ? convertU32PairToI53(currArg[0], currArg[1]) : convertI32PairToI53(currArg[0], currArg[1]); + } + // Truncate to requested size. + if (argSize <= 4) { + var limit = Math.pow(256, argSize) - 1; + currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8); + } + // Format the number. + var currAbsArg = Math.abs(currArg); + var prefix = ""; + if (next == 100 || next == 105) { + argText = reSign(currArg, 8 * argSize).toString(10); + } else if (next == 117) { + argText = unSign(currArg, 8 * argSize).toString(10); + currArg = Math.abs(currArg); + } else if (next == 111) { + argText = (flagAlternative ? "0" : "") + currAbsArg.toString(8); + } else if (next == 120 || next == 88) { + prefix = (flagAlternative && currArg != 0) ? "0x" : ""; + if (currArg < 0) { + // Represent negative numbers in hex as 2's complement. + currArg = -currArg; + argText = (currAbsArg - 1).toString(16); + var buffer = []; + for (var i = 0; i < argText.length; i++) { + buffer.push((15 - parseInt(argText[i], 16)).toString(16)); + } + argText = buffer.join(""); + while (argText.length < argSize * 2) argText = "f" + argText; + } else { + argText = currAbsArg.toString(16); + } + if (next == 88) { + prefix = prefix.toUpperCase(); + argText = argText.toUpperCase(); + } + } else if (next == 112) { + if (currAbsArg === 0) { + argText = "(nil)"; + } else { + prefix = "0x"; + argText = currAbsArg.toString(16); + } + } + if (precisionSet) { + while (argText.length < precision) { + argText = "0" + argText; + } + } + // Add sign if needed + if (currArg >= 0) { + if (flagAlwaysSigned) { + prefix = "+" + prefix; + } else if (flagPadSign) { + prefix = " " + prefix; + } + } + // Move sign to prefix so we zero-pad after the sign + if (argText.charAt(0) == "-") { + prefix = "-" + prefix; + argText = argText.substr(1); + } + // Add padding. + while (prefix.length + argText.length < width) { + if (flagLeftAlign) { + argText += " "; + } else { + if (flagZeroPad) { + argText = "0" + argText; + } else { + prefix = " " + prefix; + } + } + } + // Insert the result into the buffer. + argText = prefix + argText; + argText.split("").forEach(function(chr) { + ret.push(chr.charCodeAt(0)); + }); + break; + } + + case "f": + case "F": + case "e": + case "E": + case "g": + case "G": + { + // Float. + currArg = getNextArg("double"); + var argText; + if (isNaN(currArg)) { + argText = "nan"; + flagZeroPad = false; + } else if (!isFinite(currArg)) { + argText = (currArg < 0 ? "-" : "") + "inf"; + flagZeroPad = false; + } else { + var isGeneral = false; + var effectivePrecision = Math.min(precision, 20); + // Convert g/G to f/F or e/E, as per: + // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html + if (next == 103 || next == 71) { + isGeneral = true; + precision = precision || 1; + var exponent = parseInt(currArg.toExponential(effectivePrecision).split("e")[1], 10); + if (precision > exponent && exponent >= -4) { + next = ((next == 103) ? "f" : "F").charCodeAt(0); + precision -= exponent + 1; + } else { + next = ((next == 103) ? "e" : "E").charCodeAt(0); + precision--; + } + effectivePrecision = Math.min(precision, 20); + } + if (next == 101 || next == 69) { + argText = currArg.toExponential(effectivePrecision); + // Make sure the exponent has at least 2 digits. + if (/[eE][-+]\d$/.test(argText)) { + argText = argText.slice(0, -1) + "0" + argText.slice(-1); + } + } else if (next == 102 || next == 70) { + argText = currArg.toFixed(effectivePrecision); + if (currArg === 0 && reallyNegative(currArg)) { + argText = "-" + argText; + } + } + var parts = argText.split("e"); + if (isGeneral && !flagAlternative) { + // Discard trailing zeros and periods. + while (parts[0].length > 1 && parts[0].includes(".") && (parts[0].slice(-1) == "0" || parts[0].slice(-1) == ".")) { + parts[0] = parts[0].slice(0, -1); + } + } else { + // Make sure we have a period in alternative mode. + if (flagAlternative && argText.indexOf(".") == -1) parts[0] += "."; + // Zero pad until required precision. + while (precision > effectivePrecision++) parts[0] += "0"; + } + argText = parts[0] + (parts.length > 1 ? "e" + parts[1] : ""); + // Capitalize 'E' if needed. + if (next == 69) argText = argText.toUpperCase(); + // Add sign. + if (currArg >= 0) { + if (flagAlwaysSigned) { + argText = "+" + argText; + } else if (flagPadSign) { + argText = " " + argText; + } + } + } + // Add padding. + while (argText.length < width) { + if (flagLeftAlign) { + argText += " "; + } else { + if (flagZeroPad && (argText[0] == "-" || argText[0] == "+")) { + argText = argText[0] + "0" + argText.slice(1); + } else { + argText = (flagZeroPad ? "0" : " ") + argText; + } + } + } + // Adjust case. + if (next < 97) argText = argText.toUpperCase(); + // Insert the result into the buffer. + argText.split("").forEach(function(chr) { + ret.push(chr.charCodeAt(0)); + }); + break; + } + + case "s": + { + // String. + var arg = getNextArg("i8*"); + var argLength = arg ? strLen(arg) : "(null)".length; + if (precisionSet) argLength = Math.min(argLength, precision); + if (!flagLeftAlign) { + while (argLength < width--) { + ret.push(32); + } + } + if (arg) { + for (var i = 0; i < argLength; i++) { + ret.push(HEAPU8[arg++ >>> 0]); + } + } else { + ret = ret.concat(intArrayFromString("(null)".substr(0, argLength), true)); + } + if (flagLeftAlign) { + while (argLength < width--) { + ret.push(32); + } + } + break; + } + + case "c": + { + // Character. + if (flagLeftAlign) ret.push(getNextArg("i8")); + while (--width > 0) { + ret.push(32); + } + if (!flagLeftAlign) ret.push(getNextArg("i8")); + break; + } + + case "n": + { + // Write the length written so far to the next parameter. + var ptr = getNextArg("i32*"); + HEAP32[((ptr) >>> 2) >>> 0] = ret.length; + break; + } + + case "%": + { + // Literal percent sign. + ret.push(curr); + break; + } + + default: + { + // Unknown specifiers remain untouched. + for (var i = startTextIndex; i < textIndex + 2; i++) { + ret.push(HEAP8[i >>> 0]); + } + } + } + textIndex += 2; + } else // TODO: Support a/A (hex float) and m (last error) specifiers. + // TODO: Support %1${specifier} for arg selection. + { + ret.push(curr); + textIndex += 1; + } + } + return ret; +}; + +function jsStackTrace() { + return (new Error).stack.toString(); +} + +/** @param {number=} flags */ function getCallstack(flags) { + var callstack = jsStackTrace(); + // Find the symbols in the callstack that corresponds to the functions that + // report callstack information, and remove everything up to these from the + // output. + var iThisFunc = callstack.lastIndexOf("_emscripten_log"); + var iThisFunc2 = callstack.lastIndexOf("_emscripten_get_callstack"); + var iNextLine = callstack.indexOf("\n", Math.max(iThisFunc, iThisFunc2)) + 1; + callstack = callstack.slice(iNextLine); + // If user requested to see the original source stack, but no source map + // information is available, just fall back to showing the JS stack. + if (flags & 8 && typeof emscripten_source_map == "undefined") { + warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'); + flags ^= 8; + flags |= 16; + } + // Process all lines: + var lines = callstack.split("\n"); + callstack = ""; + // New FF30 with column info: extract components of form: + // ' Object._main@http://server.com:4324:12' + var newFirefoxRe = new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"); + // Old FF without column info: extract components of form: + // ' Object._main@http://server.com:4324' + var firefoxRe = new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"); + // Extract components of form: + // ' at Object._main (http://server.com/file.html:4324:12)' + var chromeRe = new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)"); + for (var l in lines) { + var line = lines[l]; + var symbolName = ""; + var file = ""; + var lineno = 0; + var column = 0; + var parts = chromeRe.exec(line); + if (parts && parts.length == 5) { + symbolName = parts[1]; + file = parts[2]; + lineno = parts[3]; + column = parts[4]; + } else { + parts = newFirefoxRe.exec(line); + if (!parts) parts = firefoxRe.exec(line); + if (parts && parts.length >= 4) { + symbolName = parts[1]; + file = parts[2]; + lineno = parts[3]; + // Old Firefox doesn't carry column information, but in new FF30, it + // is present. See https://bugzilla.mozilla.org/show_bug.cgi?id=762556 + column = parts[4] | 0; + } else { + // Was not able to extract this line for demangling/sourcemapping + // purposes. Output it as-is. + callstack += line + "\n"; + continue; + } + } + var haveSourceMap = false; + if (flags & 8) { + var orig = emscripten_source_map.originalPositionFor({ + line: lineno, + column: column + }); + haveSourceMap = orig?.source; + if (haveSourceMap) { + if (flags & 64) { + orig.source = orig.source.substring(orig.source.replace(/\\/g, "/").lastIndexOf("/") + 1); + } + callstack += ` at ${symbolName} (${orig.source}:${orig.line}:${orig.column})\n`; + } + } + if ((flags & 16) || !haveSourceMap) { + if (flags & 64) { + file = file.substring(file.replace(/\\/g, "/").lastIndexOf("/") + 1); + } + callstack += (haveSourceMap ? (` = ${symbolName}`) : (` at ${symbolName}`)) + ` (${file}:${lineno}:${column})\n`; + } + } + // Trim extra whitespace at the end of the output. + callstack = callstack.replace(/\s+$/, ""); + return callstack; +} + +var emscriptenLog = (flags, str) => { + if (flags & 24) { + str = str.replace(/\s+$/, ""); + // Ensure the message and the callstack are joined cleanly with exactly one newline. + str += (str.length > 0 ? "\n" : "") + getCallstack(flags); + } + if (flags & 1) { + if (flags & 4) { + console.error(str); + } else if (flags & 2) { + console.warn(str); + } else if (flags & 512) { + console.info(str); + } else if (flags & 256) { + console.debug(str); + } else { + console.log(str); + } + } else if (flags & 6) { + err(str); + } else { + out(str); + } +}; + +function _emscripten_log(flags, format, varargs) { + format >>>= 0; + varargs >>>= 0; + var result = formatString(format, varargs); + var str = UTF8ArrayToString(result, 0); + emscriptenLog(flags, str); +} + +var getHeapMax = () => // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate +// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side +// for any code that deals with heap sizes, which would require special +// casing all heap size related code to treat 0 specially. +4294901760; + +var growMemory = size => { + var b = wasmMemory.buffer; + var pages = (size - b.byteLength + 65535) / 65536; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); + // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1; + } /*success*/ catch (e) { + err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); + } +}; + +// implicit 0 return to save code size (caller will cast "undefined" into 0 +// anyhow) +function _emscripten_resize_heap(requestedSize) { + requestedSize >>>= 0; + var oldSize = HEAPU8.length; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`); + return false; + } + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + .2 / cutDown); + // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + var replacement = growMemory(newSize); + if (replacement) { + return true; + } + } + err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`); + return false; +} + +var SYSCALLS = { + varargs: undefined, + getStr(ptr) { + var ret = UTF8ToString(ptr); + return ret; + } +}; + +var _fd_close = fd => { + abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM"); +}; + +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + newOffset >>>= 0; + return 70; +} + +var printCharBuffers = [ null, [], [] ]; + +var printChar = (stream, curr) => { + var buffer = printCharBuffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } +}; + +var flush_NO_FILESYSTEM = () => { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); +}; + +function _fd_write(fd, iov, iovcnt, pnum) { + iov >>>= 0; + iovcnt >>>= 0; + pnum >>>= 0; + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov) >>> 2) >>> 0]; + var len = HEAPU32[(((iov) + (4)) >>> 2) >>> 0]; + iov += 8; + for (var j = 0; j < len; j++) { + printChar(fd, HEAPU8[ptr + j >>> 0]); + } + num += len; + } + HEAPU32[((pnum) >>> 2) >>> 0] = num; + return 0; +} + +function _llvm_eh_typeid_for(type) { + type >>>= 0; + return type; +} + +var wasmTableMirror = []; + +/** @type {WebAssembly.Table} */ var wasmTable; + +var getWasmTableEntry = funcPtr => { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; +}; + +var getCFunc = ident => { + var func = Module["_" + ident]; + // closure exported function + assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); + return func; +}; + +var writeArrayToMemory = (array, buffer) => { + assert(array.length >= 0, "writeArrayToMemory array must have a length (should be an array or typed array)"); + HEAP8.set(array, buffer >>> 0); +}; + +var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { + assert(typeof maxBytesToWrite == "number", "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +}; + +var stackAlloc = sz => __emscripten_stack_alloc(sz); + +var stringToUTF8OnStack = str => { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8(str, ret, size); + return ret; +}; + +/** + * @param {string|null=} returnType + * @param {Array=} argTypes + * @param {Arguments|Array=} args + * @param {Object=} opts + */ var ccall = (ident, returnType, argTypes, args, opts) => { + // For fast lookup of conversion functions + var toC = { + "string": str => { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + ret = stringToUTF8OnStack(str); + } + return ret; + }, + "array": arr => { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") { + return UTF8ToString(ret); + } + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== "array", 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func(...cArgs); + function onDone(ret) { + if (stack !== 0) stackRestore(stack); + return convertReturnValue(ret); + } + ret = onDone(ret); + return ret; +}; + +/** + * @param {string=} returnType + * @param {Array=} argTypes + * @param {Object=} opts + */ var cwrap = (ident, returnType, argTypes, opts) => (...args) => ccall(ident, returnType, argTypes, args, opts); + +var incrementExceptionRefcount = ptr => ___cxa_increment_exception_refcount(ptr); + +Module["incrementExceptionRefcount"] = incrementExceptionRefcount; + +var decrementExceptionRefcount = ptr => ___cxa_decrement_exception_refcount(ptr); + +Module["decrementExceptionRefcount"] = decrementExceptionRefcount; + +var getExceptionMessageCommon = ptr => { + var sp = stackSave(); + var type_addr_addr = stackAlloc(4); + var message_addr_addr = stackAlloc(4); + ___get_exception_message(ptr, type_addr_addr, message_addr_addr); + var type_addr = HEAPU32[((type_addr_addr) >>> 2) >>> 0]; + var message_addr = HEAPU32[((message_addr_addr) >>> 2) >>> 0]; + var type = UTF8ToString(type_addr); + _free(type_addr); + var message; + if (message_addr) { + message = UTF8ToString(message_addr); + _free(message_addr); + } + stackRestore(sp); + return [ type, message ]; +}; + +var getExceptionMessage = ptr => getExceptionMessageCommon(ptr); + +Module["getExceptionMessage"] = getExceptionMessage; + +function checkIncomingModuleAPI() { + ignoredModuleProp("fetchSettings"); +} + +var wasmImports = { + /** @export */ __assert_fail: ___assert_fail, + /** @export */ __cxa_begin_catch: ___cxa_begin_catch, + /** @export */ __cxa_end_catch: ___cxa_end_catch, + /** @export */ __cxa_find_matching_catch_2: ___cxa_find_matching_catch_2, + /** @export */ __cxa_find_matching_catch_3: ___cxa_find_matching_catch_3, + /** @export */ __cxa_throw: ___cxa_throw, + /** @export */ __handle_stack_overflow: ___handle_stack_overflow, + /** @export */ __resumeException: ___resumeException, + /** @export */ _abort_js: __abort_js, + /** @export */ _emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic, + /** @export */ _emscripten_memcpy_js: __emscripten_memcpy_js, + /** @export */ emscripten_date_now: _emscripten_date_now, + /** @export */ emscripten_get_now: _emscripten_get_now, + /** @export */ emscripten_log: _emscripten_log, + /** @export */ emscripten_resize_heap: _emscripten_resize_heap, + /** @export */ fd_close: _fd_close, + /** @export */ fd_seek: _fd_seek, + /** @export */ fd_write: _fd_write, + /** @export */ invoke_ii: invoke_ii, + /** @export */ invoke_iii: invoke_iii, + /** @export */ invoke_iiidi: invoke_iiidi, + /** @export */ invoke_iiii: invoke_iiii, + /** @export */ invoke_j: invoke_j, + /** @export */ invoke_v: invoke_v, + /** @export */ invoke_vi: invoke_vi, + /** @export */ invoke_vii: invoke_vii, + /** @export */ invoke_viii: invoke_viii, + /** @export */ invoke_viiii: invoke_viiii, + /** @export */ llvm_eh_typeid_for: _llvm_eh_typeid_for +}; + +var wasmExports = createWasm(); + +var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors", 0); + +var _malloc = Module["_malloc"] = createExportWrapper("malloc", 1); + +var _free = Module["_free"] = createExportWrapper("free", 1); + +var ___cxa_free_exception = createExportWrapper("__cxa_free_exception", 1); + +var _createBloomFilter = Module["_createBloomFilter"] = createExportWrapper("createBloomFilter", 3); + +var _createBloomFilterFromData = Module["_createBloomFilterFromData"] = createExportWrapper("createBloomFilterFromData", 1); + +var _addToFilter = Module["_addToFilter"] = createExportWrapper("addToFilter", 2); + +var _checkInFilter = Module["_checkInFilter"] = createExportWrapper("checkInFilter", 2); + +var _deleteBloomFilter = Module["_deleteBloomFilter"] = createExportWrapper("deleteBloomFilter", 1); + +var _getBloomFilterPointer = Module["_getBloomFilterPointer"] = createExportWrapper("getBloomFilterPointer", 1); + +var _getBloomFilterSize = Module["_getBloomFilterSize"] = createExportWrapper("getBloomFilterSize", 1); + +var _getBloomFilterNumberOfHashes = Module["_getBloomFilterNumberOfHashes"] = createExportWrapper("getBloomFilterNumberOfHashes", 1); + +var _fflush = createExportWrapper("fflush", 1); + +var _strerror = createExportWrapper("strerror", 1); + +var _setThrew = createExportWrapper("setThrew", 2); + +var __emscripten_tempret_set = createExportWrapper("_emscripten_tempret_set", 1); + +var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports["emscripten_stack_init"])(); + +var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports["emscripten_stack_get_free"])(); + +var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports["emscripten_stack_get_base"])(); + +var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports["emscripten_stack_get_end"])(); + +var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["_emscripten_stack_restore"])(a0); + +var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["_emscripten_stack_alloc"])(a0); + +var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["emscripten_stack_get_current"])(); + +var ___cxa_increment_exception_refcount = createExportWrapper("__cxa_increment_exception_refcount", 1); + +var ___cxa_decrement_exception_refcount = createExportWrapper("__cxa_decrement_exception_refcount", 1); + +var ___get_exception_message = createExportWrapper("__get_exception_message", 3); + +var ___cxa_can_catch = createExportWrapper("__cxa_can_catch", 3); + +var ___cxa_is_pointer_type = createExportWrapper("__cxa_is_pointer_type", 1); + +var ___set_stack_limits = Module["___set_stack_limits"] = createExportWrapper("__set_stack_limits", 2); + +var dynCall_j = Module["dynCall_j"] = createExportWrapper("dynCall_j", 1); + +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji", 5); + +function invoke_iii(index, a1, a2) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiidi(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_viii(index, a1, a2, a3) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_v(index) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_viiii(index, a1, a2, a3, a4) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2, a3, a4); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index, a1) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index, a1, a2, a3) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2, a3); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index, a1, a2) { + var sp = stackSave(); + try { + getWasmTableEntry(index)(a1, a2); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +function invoke_j(index) { + var sp = stackSave(); + try { + return dynCall_j(index); + } catch (e) { + stackRestore(sp); + if (!(e instanceof EmscriptenEH)) throw e; + _setThrew(1, 0); + } +} + +// Argument name here must shadow the `wasmExports` global so +// that it is recognised by metadce and minify-import-export-names +// passes. +function applySignatureConversions(wasmExports) { + // First, make a copy of the incoming exports object + wasmExports = Object.assign({}, wasmExports); + var makeWrapper_pp = f => a0 => f(a0) >>> 0; + var makeWrapper_p_ = f => a0 => f(a0) >>> 0; + var makeWrapper_p = f => () => f() >>> 0; + wasmExports["malloc"] = makeWrapper_pp(wasmExports["malloc"]); + wasmExports["strerror"] = makeWrapper_p_(wasmExports["strerror"]); + wasmExports["emscripten_stack_get_base"] = makeWrapper_p(wasmExports["emscripten_stack_get_base"]); + wasmExports["emscripten_stack_get_end"] = makeWrapper_p(wasmExports["emscripten_stack_get_end"]); + wasmExports["_emscripten_stack_alloc"] = makeWrapper_pp(wasmExports["_emscripten_stack_alloc"]); + wasmExports["emscripten_stack_get_current"] = makeWrapper_p(wasmExports["emscripten_stack_get_current"]); + return wasmExports; +} + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === +Module["ccall"] = ccall; + +Module["cwrap"] = cwrap; + +Module["UTF8ToString"] = UTF8ToString; + +var missingLibrarySymbols = [ "writeI53ToI64", "writeI53ToI64Clamped", "writeI53ToI64Signaling", "writeI53ToU64Clamped", "writeI53ToU64Signaling", "readI53FromI64", "readI53FromU64", "getTempRet0", "zeroMemory", "exitJS", "isLeapYear", "ydayFromDate", "arraySum", "addDays", "strError", "inetPton4", "inetNtop4", "inetPton6", "inetNtop6", "readSockaddr", "writeSockaddr", "initRandomFill", "randomFill", "readEmAsmArgs", "jstoi_q", "getExecutableName", "listenOnce", "autoResumeAudioContext", "dynCallLegacy", "getDynCaller", "dynCall", "handleException", "keepRuntimeAlive", "runtimeKeepalivePush", "runtimeKeepalivePop", "callUserCallback", "maybeExit", "asmjsMangle", "asyncLoad", "alignMemory", "mmapAlloc", "HandleAllocator", "getNativeTypeSize", "STACK_SIZE", "STACK_ALIGN", "POINTER_SIZE", "ASSERTIONS", "uleb128Encode", "sigToWasmTypes", "generateFuncType", "convertJsFunctionToWasm", "getEmptyTableSlot", "updateTableMap", "getFunctionAddress", "addFunction", "removeFunction", "intArrayToString", "AsciiToString", "stringToAscii", "UTF16ToString", "stringToUTF16", "lengthBytesUTF16", "UTF32ToString", "stringToUTF32", "lengthBytesUTF32", "stringToNewUTF8", "registerKeyEventCallback", "maybeCStringToJsString", "findEventTarget", "getBoundingClientRect", "fillMouseEventData", "registerMouseEventCallback", "registerWheelEventCallback", "registerUiEventCallback", "registerFocusEventCallback", "fillDeviceOrientationEventData", "registerDeviceOrientationEventCallback", "fillDeviceMotionEventData", "registerDeviceMotionEventCallback", "screenOrientation", "fillOrientationChangeEventData", "registerOrientationChangeEventCallback", "fillFullscreenChangeEventData", "registerFullscreenChangeEventCallback", "JSEvents_requestFullscreen", "JSEvents_resizeCanvasForFullscreen", "registerRestoreOldStyle", "hideEverythingExceptGivenElement", "restoreHiddenElements", "setLetterbox", "softFullscreenResizeWebGLRenderTarget", "doRequestFullscreen", "fillPointerlockChangeEventData", "registerPointerlockChangeEventCallback", "registerPointerlockErrorEventCallback", "requestPointerLock", "fillVisibilityChangeEventData", "registerVisibilityChangeEventCallback", "registerTouchEventCallback", "fillGamepadEventData", "registerGamepadEventCallback", "registerBeforeUnloadEventCallback", "fillBatteryEventData", "battery", "registerBatteryEventCallback", "setCanvasElementSize", "getCanvasElementSize", "convertPCtoSourceLocation", "getEnvStrings", "checkWasiClock", "wasiRightsToMuslOFlags", "wasiOFlagsToMuslOFlags", "createDyncallWrapper", "safeSetTimeout", "setImmediateWrapped", "clearImmediateWrapped", "polyfillSetImmediate", "getPromise", "makePromise", "idsToPromises", "makePromiseCallback", "Browser_asyncPrepareDataCounter", "setMainLoop", "getSocketFromFD", "getSocketAddress", "FS_createPreloadedFile", "FS_modeStringToFlags", "FS_getMode", "FS_stdin_getChar", "FS_unlink", "FS_createDataFile", "FS_mkdirTree", "_setNetworkCallback", "heapObjectForWebGLType", "toTypedArrayIndex", "webgl_enable_ANGLE_instanced_arrays", "webgl_enable_OES_vertex_array_object", "webgl_enable_WEBGL_draw_buffers", "webgl_enable_WEBGL_multi_draw", "emscriptenWebGLGet", "computeUnpackAlignedImageSize", "colorChannelsInGlTextureFormat", "emscriptenWebGLGetTexPixelData", "emscriptenWebGLGetUniform", "webglGetUniformLocation", "webglPrepareUniformLocationsBeforeFirstUse", "webglGetLeftBracePos", "emscriptenWebGLGetVertexAttrib", "__glGetActiveAttribOrUniform", "writeGLArray", "registerWebGlEventCallback", "runAndAbortIfError", "ALLOC_NORMAL", "ALLOC_STACK", "allocate", "writeStringToMemory", "writeAsciiToMemory", "setErrNo", "demangle", "stackTrace" ]; + +missingLibrarySymbols.forEach(missingLibrarySymbol); + +var unexportedSymbols = [ "run", "addOnPreRun", "addOnInit", "addOnPreMain", "addOnExit", "addOnPostRun", "addRunDependency", "removeRunDependency", "out", "err", "callMain", "abort", "wasmMemory", "wasmExports", "writeStackCookie", "checkStackCookie", "convertI32PairToI53", "convertI32PairToI53Checked", "convertU32PairToI53", "stackSave", "stackRestore", "stackAlloc", "setTempRet0", "ptrToString", "getHeapMax", "growMemory", "ENV", "setStackLimits", "MONTH_DAYS_REGULAR", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR_CUMULATIVE", "MONTH_DAYS_LEAP_CUMULATIVE", "ERRNO_CODES", "DNS", "Protocols", "Sockets", "timers", "warnOnce", "emscriptenLog", "readEmAsmArgsArray", "jstoi_s", "wasmTable", "noExitRuntime", "getCFunc", "freeTableIndexes", "functionsInTableMap", "reallyNegative", "unSign", "strLen", "reSign", "formatString", "setValue", "getValue", "PATH", "PATH_FS", "UTF8Decoder", "UTF8ArrayToString", "stringToUTF8Array", "stringToUTF8", "lengthBytesUTF8", "intArrayFromString", "UTF16Decoder", "stringToUTF8OnStack", "writeArrayToMemory", "JSEvents", "specialHTMLTargets", "findCanvasEventTarget", "currentFullscreenStrategy", "restoreOldWindowedStyle", "jsStackTrace", "getCallstack", "UNWIND_CACHE", "ExitStatus", "flush_NO_FILESYSTEM", "promiseMap", "uncaughtExceptionCount", "exceptionLast", "exceptionCaught", "ExceptionInfo", "findMatchingCatch", "getExceptionMessageCommon", "incrementExceptionRefcount", "decrementExceptionRefcount", "getExceptionMessage", "Browser", "getPreloadedImageData__data", "wget", "SYSCALLS", "preloadPlugins", "FS_stdin_getChar_buffer", "FS_createPath", "FS_createDevice", "FS_readFile", "FS", "FS_createLazyFile", "MEMFS", "TTY", "PIPEFS", "SOCKFS", "tempFixedLengthArray", "miniTempWebGLFloatBuffers", "miniTempWebGLIntBuffers", "GL", "AL", "GLUT", "EGL", "GLEW", "IDBStore", "SDL", "SDL_gfx", "allocateUTF8", "allocateUTF8OnStack", "print", "printErr" ]; + +unexportedSymbols.forEach(unexportedRuntimeSymbol); + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; + +// try this again later, after new deps are fulfilled +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + if (runDependencies > 0) { + return; + } + stackCheckInit(); + preRun(); + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + Module["onRuntimeInitialized"]?.(); + assert(!Module["_main"], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = x => { + has = true; + }; + try { + // it doesn't matter if it fails + flush_NO_FILESYSTEM(); + } catch (e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."); + warnOnce("(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)"); + } +} + +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} + +run(); diff --git a/cpp/bloom_filter.ts b/cpp/bloom_filter.ts index 353f510..284ea0e 100644 --- a/cpp/bloom_filter.ts +++ b/cpp/bloom_filter.ts @@ -7,12 +7,12 @@ interface BloomFilterModule extends EmscriptenModule { ident: string, returnType: string, argTypes: string[], - args: (number | string | boolean)[], + args: (number | string | boolean)[] ) => R; cwrap: ( ident: string, returnType: string, - argTypes: string[], + argTypes: string[] ) => (...args: A) => R; _malloc: (size: number) => number; _free: (ptr: number) => void; @@ -21,6 +21,12 @@ interface BloomFilterModule extends EmscriptenModule { UTF8ToString: (ptr: number) => string; } +function checkEndianness(): boolean { + const buffer = new ArrayBuffer(2); + new DataView(buffer).setInt16(0, 256, true); + return new Int16Array(buffer)[0] === 256; +} + declare global { let Module: BloomFilterModule; } @@ -28,6 +34,9 @@ declare global { let moduleLoadPromise: Promise; function initializeModule(): Promise { + if (!checkEndianness()) { + throw new Error('This application requires a little-endian system'); + } if (!moduleLoadPromise) { moduleLoadPromise = (async () => { const wasmUrl = @@ -35,14 +44,14 @@ function initializeModule(): Promise { ? new URL('/__system_assets/bloom_filter.wasm', self.location.href) : new URL( '../assets/__system_assets/bloom_filter.wasm', - import.meta.url, + import.meta.url ); const jsUrl = self.Deno === undefined ? new URL('/__system_assets/bloom_filter.js', self.location.href) : new URL( '../assets/__system_assets/bloom_filter.js', - import.meta.url, + import.meta.url ); const wasmResponse = await fetch(wasmUrl); @@ -75,7 +84,7 @@ export class BloomFilter { private static create_bloom_filter: ( size: number, fpr: number, - _ptr: number, + _ptr: number ) => number; private static add_to_filter: (ptr: number, str: string) => void; private static check_in_filter: (ptr: number, str: string) => number; @@ -90,6 +99,10 @@ export class BloomFilter { private static get_bloom_filter_number_of_hashes: (data: number) => number; static async initNativeFunctions(): Promise { + if (!checkEndianness()) { + throw new Error('This application requires a little-endian system'); + } + if (!this.create_bloom_filter) { await initializeModule(); this.create_bloom_filter = Module.cwrap('createBloomFilter', 'number', [ @@ -100,7 +113,7 @@ export class BloomFilter { this.create_bloom_filter_from_data = Module.cwrap( 'createBloomFilterFromData', 'number', - ['number'], + ['number'] ); this.add_to_filter = Module.cwrap('addToFilter', 'void', [ 'number', @@ -116,17 +129,17 @@ export class BloomFilter { this.get_bloom_filter_pointer = Module.cwrap( 'getBloomFilterPointer', 'number', - ['number'], + ['number'] ); this.get_bloom_filter_size = Module.cwrap( 'getBloomFilterSize', 'number', - ['number'], + ['number'] ); this.get_bloom_filter_number_of_hashes = Module.cwrap( 'getBloomFilterNumberOfHashes', 'number', - ['number'], + ['number'] ); this._malloc = Module._malloc; this._free = Module._free; @@ -199,7 +212,7 @@ export class BloomFilter { if (filterPtr === 0) { throw new Error( - `Failed to create BloomFilter from data with pointer ${ptr}`, + `Failed to create BloomFilter from data with pointer ${ptr}` ); } diff --git a/cpp/bloom_filter.wasm b/cpp/bloom_filter.wasm new file mode 100755 index 0000000..93451ae Binary files /dev/null and b/cpp/bloom_filter.wasm differ diff --git a/cpp/bloom_filter.wasm.map b/cpp/bloom_filter.wasm.map new file mode 100644 index 0000000..ad6e5aa --- /dev/null +++ b/cpp/bloom_filter.wasm.map @@ -0,0 +1 @@ +{"version":3,"sources":["BloomFilter.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__random/uniform_int_distribution.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__random/mersenne_twister_engine.h","BloomFilter.hpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/stdexcept","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/constexpr_c_functions.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/new","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__string/char_traits.h","../external/MurmurHash3.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/emscripten_memcpy.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memset.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_divzero.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/internal/libm.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/log.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/round.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strlen.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/emscripten_get_heap_size.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/sbrk.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/dlmalloc.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_tempret.s","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/emscripten_time.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/chrono.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__chrono/duration.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__chrono/time_point.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/compat/aligned_alloc.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/new.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/aligned_alloc.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/new_helpers.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__exception/exception.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/include/refstring.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/support/runtime/stdexcept_default.ipp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/pointer_traits.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/compressed_pair.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/errno/strerror.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strerror_r.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/pthread/library_pthread_stub.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/ofl.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__towrite.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memchr.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strnlen.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/emscripten_syscall_stubs.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/unistd/getpid.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/pthread/pthread_self_stub.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/frexp.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/lib/builtins/ashlti3.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/lib/builtins/lshrti3.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/lib/builtins/trunctfdf2.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc_impl.inc","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/fwrite.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/vfprintf.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/include/math.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/vsnprintf.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/snprintf.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memcmp.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__overflow.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memmove.c","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/min.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/max.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocate_at_least.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator_traits.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/limits","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__memory/allocator.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_n.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/string_view","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/comp.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/copy_move_common.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_range.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/unwrap_iter.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/pair.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/error_category.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__system_error/error_condition.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__system_error/error_category.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__system_error/error_code.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/exit/abort.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/system_error.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__system_error/system_error.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/cxa_exception_emscripten.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxx/src/include/atomic_support.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/wasi-helpers.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/unistd/lseek.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/fputc.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/putc.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/atomic_arch.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/internal/pthread_impl.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/abort_message.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/cxa_handlers.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/cxa_virtual.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/fallback_malloc.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strcmp.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/private_typeinfo.cpp","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/typeinfo","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/stdlib_exception.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/stdlib_stdexcept.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/stdlib_typeinfo.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/stack_limits.S","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/ctype/isxdigit.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/cxa_demangle.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/demangle/ItaniumDemangle.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/demangle/Utility.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/demangle/StringViewExtras.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__utility/swap.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/reverse.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/iterator_operations.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/iter_swap.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/array","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__algorithm/all_of.h","../../ovvio2/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1/__iterator/reverse_iterator.h","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/stpcpy.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strcpy.c","../../ovvio2/emsdk/upstream/emscripten/system/lib/libcxxabi/src/cxa_exception_js_utils.cpp","../../ovvio2/emsdk/upstream/emscripten/system/lib/compiler-rt/stack_ops.S","../../ovvio2/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/fflush.c"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/test2.ts b/test2.ts index c638677..9a00635 100644 --- a/test2.ts +++ b/test2.ts @@ -88,7 +88,7 @@ function changeText(text: string): string { textWords.splice( randomInt(0, textWords.length), 0, - kWords[randomInt(0, kWords.length)], + kWords[randomInt(0, kWords.length)] ); } return textWords.join(' '); @@ -130,7 +130,7 @@ async function populateDB(db: GoatDB): Promise { } const REPO_FILE_PATH = - '/Users/ofri/Documents/ovvio/goatdb-test/test/notes.jsonl'; + '/Users/ofri/Documents/ovvio/goatdb-test/test/notes1M.jsonl'; const DB_PATH = '/Users/ofri/Documents/ovvio/goatdb-test/'; @@ -154,7 +154,7 @@ export async function testsMain(): Promise { .numberOfCommits() .toLocaleString()}\n# Keys = ${repo.storage .numberOfKeys() - .toLocaleString()}`, + .toLocaleString()}` ); if (repo.numberOfCommits() === 0) { @@ -166,7 +166,7 @@ export async function testsMain(): Promise { console.log( `Populating repo ended. Took ${populatingTime / 1000} sec, avg ${ populatingTime / ITEM_COUNT - }ms/item`, + }ms/item` ); } else { // const editCount = await editDB(db, 0.5); @@ -193,7 +193,7 @@ export async function testsMain(): Promise { console.log( `Reading ${keys.length.toLocaleString()} items took ${ readTime / 1000 - } sec. Avg ${readTime / keys.length} ms / key`, + } sec. Avg ${readTime / keys.length} ms / key` ); // debugger; @@ -247,7 +247,7 @@ export async function testsMain(): Promise { console.log( `Query finished in ${ (performance.now() - queryStart) / queryIter - } ms.\n# Results = ${prevCount}`, + } ms.\n# Results = ${prevCount}` ); // Deno.exit();