diff --git a/README.rst b/README.rst index 4d1783f..8db9cfa 100644 --- a/README.rst +++ b/README.rst @@ -55,6 +55,12 @@ Configuration variables Set this if action required when snaps are updated, for example to rebuild SPIFFS image or update application. +.. envvar:: JERRY_WEB_COMPILER + + (read-only) + + Location of pre-compiled web compiler. See ``Advanced-Jsvm`` sample for example usage. + Credits ------- diff --git a/component.mk b/component.mk index 4695993..78712c5 100644 --- a/component.mk +++ b/component.mk @@ -39,6 +39,7 @@ endif JERRY_WEB_COMPILER := $(COMPONENT_PATH)/jsc/$(JERRY_PROFILE) COMPONENT_CFLAGS += \ + -Wno-error=unused-function \ -DJERRY_GLOBAL_HEAP_SIZE=$(JERRY_GLOBAL_HEAP_SIZE) \ -DJERRY_LCACHE=0 \ -DJERRY_PARSER=0 \ @@ -49,10 +50,15 @@ COMPONENT_CFLAGS += \ # Build version of tool compatible with library DEBUG_VARS += JERRY_SNAPSHOT_TOOL JERRY_BUILD_DIR := $(COMPONENT_PATH)/jerryscript/out/$(call CalculateVariantHash,JERRY_COMPILER_FLAGS) +JERRY_SNAPSHOT_TOOL := $(JERRY_BUILD_DIR)/bin/jerry-snapshot$(TOOL_EXT) + ifeq ($(UNAME),Windows) -JERRY_SNAPSHOT_TOOL := $(JERRY_BUILD_DIR)/bin/MinSizeRel/jerry-snapshot.exe -else -JERRY_SNAPSHOT_TOOL := $(JERRY_BUILD_DIR)/bin/jerry-snapshot +JERRY_CMAKE_PARAMS := \ + --cmake-param "-GMSYS Makefiles" \ + --compile-flag "-I $(JERRYSCRIPT_ROOT)/../src/include" \ + --compile-flag "-std=gnu11 " \ + --compile-flag "-Wno-error=unused-parameter " \ + --compile-flag "-D_POSIX_C_SOURCE=1 " endif $(JERRY_SNAPSHOT_TOOL): @@ -60,6 +66,7 @@ $(JERRY_SNAPSHOT_TOOL): --lto OFF \ --jerry-cmdline-snapshot ON \ --builddir "$(JERRY_BUILD_DIR)" \ + $(JERRY_CMAKE_PARAMS) \ $(patsubst %,--compile-flag "-D %",$(JERRY_COMPILER_FLAGS)) jerryscript-clean: jerry-tools-clean diff --git a/emscripten-snapshot-compiler/Makefile b/emscripten-snapshot-compiler/Makefile index c64b1f4..57b614c 100644 --- a/emscripten-snapshot-compiler/Makefile +++ b/emscripten-snapshot-compiler/Makefile @@ -40,6 +40,7 @@ build: --lto OFF \ --strip OFF \ --profile $(JERRY_PROFILE) \ + --compile-flag "-Wno-implicit-int-float-conversion " \ --builddir $(BUILD_DIR)/jerryscript mkdir -p $(BUILD_DIR) cmake --verbose -DCMAKE_BUILD_TYPE=MinSizeRel -DJERRY_PROFILE=$(JERRY_PROFILE) -S . -B $(BUILD_DIR) diff --git a/emscripten-snapshot-compiler/emscripten-snapshot-compiler.c b/emscripten-snapshot-compiler/emscripten-snapshot-compiler.c index 81c649e..0d2ae82 100644 --- a/emscripten-snapshot-compiler/emscripten-snapshot-compiler.c +++ b/emscripten-snapshot-compiler/emscripten-snapshot-compiler.c @@ -43,7 +43,10 @@ emscripten_snapshot_compiler_compile (const jerry_char_t *source_p, jerry_size_t // Call jerry_parse () first, because this return errors if there are any, // while jerry_parse_and_save_snapshot () does not return errors... jerry_init (JERRY_INIT_EMPTY); - jerry_value_t rv = jerry_parse (NULL, 0, source_p, source_size, is_strict ? JERRY_PARSE_STRICT_MODE: JERRY_PARSE_NO_OPTS); + jerry_parse_options_t parse_options = { + .options = is_strict ? JERRY_PARSE_STRICT_MODE: JERRY_PARSE_NO_OPTS, + }; + jerry_value_t rv = jerry_parse (source_p, source_size, &parse_options); if (jerry_value_is_error (rv)) { jerry_get_value_from_error (rv, false); @@ -67,7 +70,7 @@ emscripten_snapshot_compiler_compile (const jerry_char_t *source_p, jerry_size_t // No errors, let's create the snapshot: uint32_t generate_snapshot_opts = 0; (void)is_for_global; - jerry_value_t generate_result = jerry_generate_snapshot (NULL, 0, source_p, source_size, generate_snapshot_opts, + jerry_value_t generate_result = jerry_generate_snapshot (rv, generate_snapshot_opts, buffer_p, buffer_size); size_t snapshot_size = (size_t) jerry_get_number_value (generate_result); diff --git a/jerryscript b/jerryscript index 8ba0d1b..d69ac0e 160000 --- a/jerryscript +++ b/jerryscript @@ -1 +1 @@ -Subproject commit 8ba0d1b6ee5a065a42f3b306771ad8e3c0d819bc +Subproject commit d69ac0e070a97babb4b8e4c116db765f47c3eb02 diff --git a/jerryscript.patch b/jerryscript.patch new file mode 100644 index 0000000..6afd6e3 --- /dev/null +++ b/jerryscript.patch @@ -0,0 +1,67 @@ +diff --git a/jerry-core/parser/js/js-parser.c b/jerry-core/parser/js/js-parser.c +index b55baed5..bd6b41da 100644 +--- a/jerry-core/parser/js/js-parser.c ++++ b/jerry-core/parser/js/js-parser.c +@@ -3356,12 +3356,9 @@ parser_parse_script (void *source_p, /**< source code */ + + return bytecode_p; + #else /* !JERRY_PARSER */ +- JERRY_UNUSED (arg_list_p); +- JERRY_UNUSED (arg_list_size); + JERRY_UNUSED (source_p); +- JERRY_UNUSED (source_size); + JERRY_UNUSED (parse_opts); +- JERRY_UNUSED (resource_name); ++ JERRY_UNUSED (options_p); + + ecma_raise_syntax_error (ECMA_ERR_PARSER_NOT_SUPPORTED); + return NULL; +diff --git a/jerry-core/ecma/operations/ecma-eval.c b/jerry-core/ecma/operations/ecma-eval.c +index e4a2d734..cd544844 100644 +--- a/jerry-core/ecma/operations/ecma-eval.c ++++ b/jerry-core/ecma/operations/ecma-eval.c +@@ -94,8 +94,7 @@ ecma_op_eval_chars_buffer (void *source_p, /**< source code */ + + return vm_run_eval (bytecode_p, parse_opts); + #else /* !JERRY_PARSER */ +- JERRY_UNUSED (code_p); +- JERRY_UNUSED (code_buffer_size); ++ JERRY_UNUSED (source_p); + JERRY_UNUSED (parse_opts); + + return ecma_raise_syntax_error (ECMA_ERR_PARSER_NOT_SUPPORTED); +diff --git a/jerry-core/ecma/base/ecma-helpers.c b/jerry-core/ecma/base/ecma-helpers.c +index bd25d9d3..cce169bb 100644 +--- a/jerry-core/ecma/base/ecma-helpers.c ++++ b/jerry-core/ecma/base/ecma-helpers.c +@@ -1626,11 +1626,13 @@ ecma_script_get_from_value (ecma_value_t value) /**< compiled code */ + { + ecma_extended_object_t *ext_object_p = (ecma_extended_object_t *) object_p; + ++#if JERRY_PARSER + if (ext_object_p->u.cls.type == ECMA_OBJECT_CLASS_SCRIPT) + { + bytecode_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_compiled_code_t, ext_object_p->u.cls.u3.value); + break; + } ++#endif + + #if JERRY_MODULE_SYSTEM + if (ext_object_p->u.cls.type == ECMA_OBJECT_CLASS_MODULE) +diff --git a/jerry-core/api/jerryscript.c b/jerry-core/api/jerryscript.c +index 13e3fd65..32444cd6 100644 +--- a/jerry-core/api/jerryscript.c ++++ b/jerry-core/api/jerryscript.c +@@ -564,10 +564,12 @@ jerry_run (const jerry_value_t func_val) /**< function to run */ + + ecma_object_t *object_p = ecma_get_object_from_value (func_val); + ++#if JERRY_PARSER + if (!ecma_object_class_is (object_p, ECMA_OBJECT_CLASS_SCRIPT)) + { + return jerry_throw (ecma_raise_type_error (ECMA_ERR_WRONG_ARGS_MSG)); + } ++#endif + + ecma_extended_object_t *ext_object_p = (ecma_extended_object_t *) object_p; + diff --git a/jsc/es.next/jsc.js b/jsc/es.next/jsc.js index 12b94ae..b5667a8 100644 --- a/jsc/es.next/jsc.js +++ b/jsc/es.next/jsc.js @@ -991,9 +991,6 @@ function preRun() { function initRuntime() { runtimeInitialized = true; - if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); - FS.ignorePermissions = false; - TTY.init(); callRuntimeCallbacks(__ATINIT__); } @@ -1209,10 +1206,10 @@ var tempDouble; var tempI64; var ASM_CONSTS = { - 54360: function() { + 58568: function() { throw new Error("Input must be valid UTF-8"); }, - 54411: function($0) { + 58619: function($0) { throw new Error(UTF8ToString($0)); } }; @@ -1299,2325 +1296,38 @@ function unSign(value, bits) { return bits <= 32 ? 2 * Math.abs(1 << bits - 1) + value : Math.pow(2, bits) + value; } -var PATH = { - splitPath: function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray: function(parts, allowAboveRoot) { - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === ".") { - parts.splice(i, 1); - } else if (last === "..") { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - if (allowAboveRoot) { - for (;up; up--) { - parts.unshift(".."); - } - } - return parts; - }, - normalize: function(path) { - var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; - path = PATH.normalizeArray(path.split("/").filter(function(p) { - return !!p; - }), !isAbsolute).join("/"); - if (!path && !isAbsolute) { - path = "."; - } - if (path && trailingSlash) { - path += "/"; - } - return (isAbsolute ? "/" : "") + path; - }, - dirname: function(path) { - var result = PATH.splitPath(path), root = result[0], dir = result[1]; - if (!root && !dir) { - return "."; - } - if (dir) { - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - }, - basename: function(path) { - if (path === "/") return "/"; - path = PATH.normalize(path); - path = path.replace(/\/$/, ""); - var lastSlash = path.lastIndexOf("/"); - if (lastSlash === -1) return path; - return path.substr(lastSlash + 1); - }, - extname: function(path) { - return PATH.splitPath(path)[3]; - }, - join: function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join("/")); - }, - join2: function(l, r) { - return PATH.normalize(l + "/" + r); - } -}; - -function getRandomDevice() { - if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { - var randomBuffer = new Uint8Array(1); - return function() { - crypto.getRandomValues(randomBuffer); - return randomBuffer[0]; - }; - } else if (ENVIRONMENT_IS_NODE) { - try { - var crypto_module = require("crypto"); - return function() { - return crypto_module["randomBytes"](1)[0]; - }; - } catch (e) {} - } - return function() { - abort("randomDevice"); - }; -} - -var PATH_FS = { - resolve: function() { - var resolvedPath = "", resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = i >= 0 ? arguments[i] : FS.cwd(); - if (typeof path !== "string") { - throw new TypeError("Arguments to path.resolve must be strings"); - } else if (!path) { - return ""; - } - resolvedPath = path + "/" + resolvedPath; - resolvedAbsolute = path.charAt(0) === "/"; - } - resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { - return !!p; - }), !resolvedAbsolute).join("/"); - return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; - }, - relative: function(from, to) { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (;start < arr.length; start++) { - if (arr[start] !== "") break; - } - var end = arr.length - 1; - for (;end >= 0; end--) { - if (arr[end] !== "") break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split("/")); - var toParts = trim(to.split("/")); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push(".."); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join("/"); - } -}; - -var TTY = { - ttys: [], - init: function() {}, - shutdown: function() {}, - register: function(dev, ops) { - TTY.ttys[dev] = { - input: [], - output: [], - ops: ops - }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops: { - open: function(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close: function(stream) { - stream.tty.ops.flush(stream.tty); - }, - flush: function(stream) { - stream.tty.ops.flush(stream.tty); - }, - read: function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset + i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }, - default_tty_ops: { - get_char: function(tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - try { - bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null); - } catch (e) { - if (e.toString().includes("EOF")) bytesRead = 0; else throw e; - } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString("utf-8"); - } else { - result = null; - } - } else if (typeof window != "undefined" && typeof window.prompt == "function") { - result = window.prompt("Input: "); - if (result !== null) { - result += "\n"; - } - } else if (typeof readline == "function") { - result = readline(); - if (result !== null) { - result += "\n"; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - }, - put_char: function(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - } - }, - default_tty1_ops: { - put_char: function(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - } - } -}; - -function zeroMemory(address, size) { - HEAPU8.fill(0, address, address + size); -} - -function alignMemory(size, alignment) { - return Math.ceil(size / alignment) * alignment; -} - -function mmapAlloc(size) { - abort(); -} - -var MEMFS = { - ops_table: null, - mount: function(mount) { - return MEMFS.createNode(null, "/", 16384 | 511, 0); - }, - createNode: function(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - throw new FS.ErrnoError(63); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - if (parent) { - parent.contents[name] = node; - parent.timestamp = node.timestamp; - } - return node; - }, - getFileDataAsTypedArray: function(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); - return new Uint8Array(node.contents); - }, - expandFileStorage: function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); - }, - resizeFileStorage: function(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); - } - node.usedBytes = newSize; - } - }, - node_ops: { - getattr: function(node) { - var attr = {}; - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr: function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup: function(parent, name) { - throw FS.genericErrors[44]; - }, - mknod: function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename: function(old_node, new_dir, new_name) { - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - delete old_node.parent.contents[old_node.name]; - old_node.parent.timestamp = Date.now(); - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - new_dir.timestamp = old_node.parent.timestamp; - old_node.parent = new_dir; - }, - unlink: function(parent, name) { - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - rmdir: function(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - readdir: function(node) { - var entries = [ ".", ".." ]; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - }, - symlink: function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink: function(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - } - }, - stream_ops: { - read: function(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - if (size > 8 && contents.subarray) { - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write: function(stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - if (buffer.subarray && (!node.contents || node.contents.subarray)) { - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - MEMFS.expandFileStorage(node, position + length); - if (node.contents.subarray && buffer.subarray) { - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek: function(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - allocate: function(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - }, - mmap: function(stream, address, length, position, prot, flags) { - if (address !== 0) { - throw new FS.ErrnoError(28); - } - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - if (!(flags & 2) && contents.buffer === buffer) { - allocated = false; - ptr = contents.byteOffset; - } else { - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { - ptr: ptr, - allocated: allocated - }; - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (mmapFlags & 2) { - return 0; - } - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - return 0; - } - } -}; - -function asyncLoad(url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; - readAsync(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); -} - -var FS = { - root: null, - mounts: [], - devices: {}, - streams: [], - nextInode: 1, - nameTable: null, - currentPath: "/", - initialized: false, - ignorePermissions: true, - ErrnoError: null, - genericErrors: {}, - filesystems: null, - syncFSRequests: 0, - lookupPath: function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path); - opts = opts || {}; - if (!path) return { - path: "", - node: null - }; - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - if (opts.recurse_count > 8) { - throw new FS.ErrnoError(32); - } - var parts = PATH.normalizeArray(path.split("/").filter(function(p) { - return !!p; - }), false); - var current = FS.root; - var current_path = "/"; - for (var i = 0; i < parts.length; i++) { - var islast = i === parts.length - 1; - if (islast && opts.parent) { - break; - } - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - if (FS.isMountpoint(current)) { - if (!islast || islast && opts.follow_mount) { - current = current.mounted.root; - } - } - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - var lookup = FS.lookupPath(current_path, { - recurse_count: opts.recurse_count - }); - current = lookup.node; - if (count++ > 40) { - throw new FS.ErrnoError(32); - } - } - } - } - return { - path: current_path, - node: current - }; - }, - getPath: function(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; - } - path = path ? node.name + "/" + path : node.name; - node = node.parent; - } - }, - hashName: function(parentid, name) { - var hash = 0; - for (var i = 0; i < name.length; i++) { - hash = (hash << 5) - hash + name.charCodeAt(i) | 0; - } - return (parentid + hash >>> 0) % FS.nameTable.length; - }, - hashAddNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode: function(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - return FS.lookup(parent, name); - }, - createNode: function(parent, name, mode, rdev) { - var node = new FS.FSNode(parent, name, mode, rdev); - FS.hashAddNode(node); - return node; - }, - destroyNode: function(node) { - FS.hashRemoveNode(node); - }, - isRoot: function(node) { - return node === node.parent; - }, - isMountpoint: function(node) { - return !!node.mounted; - }, - isFile: function(mode) { - return (mode & 61440) === 32768; - }, - isDir: function(mode) { - return (mode & 61440) === 16384; - }, - isLink: function(mode) { - return (mode & 61440) === 40960; - }, - isChrdev: function(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev: function(mode) { - return (mode & 61440) === 24576; - }, - isFIFO: function(mode) { - return (mode & 61440) === 4096; - }, - isSocket: function(mode) { - return (mode & 49152) === 49152; - }, - flagModes: { - "r": 0, - "r+": 2, - "w": 577, - "w+": 578, - "a": 1089, - "a+": 1090 - }, - modeStringToFlags: function(str) { - var flags = FS.flagModes[str]; - if (typeof flags === "undefined") { - throw new Error("Unknown file open mode: " + str); - } - return flags; - }, - flagsToPermissionString: function(flag) { - var perms = [ "r", "w", "rw" ][flag & 3]; - if (flag & 512) { - perms += "w"; - } - return perms; - }, - nodePermissions: function(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - if (perms.includes("r") && !(node.mode & 292)) { - return 2; - } else if (perms.includes("w") && !(node.mode & 146)) { - return 2; - } else if (perms.includes("x") && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup: function(dir) { - var errCode = FS.nodePermissions(dir, "x"); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate: function(dir, name) { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) {} - return FS.nodePermissions(dir, "wx"); - }, - mayDelete: function(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, "wx"); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen: function(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - MAX_OPEN_FDS: 4096, - nextfd: function(fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStream: function(fd) { - return FS.streams[fd]; - }, - createStream: function(stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function() {}; - FS.FSStream.prototype = { - object: { - get: function() { - return this.node; - }, - set: function(val) { - this.node = val; - } - }, - isRead: { - get: function() { - return (this.flags & 2097155) !== 1; - } - }, - isWrite: { - get: function() { - return (this.flags & 2097155) !== 0; - } - }, - isAppend: { - get: function() { - return this.flags & 1024; - } - } - }; - } - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream: function(fd) { - FS.streams[fd] = null; - }, - chrdev_stream_ops: { - open: function(stream) { - var device = FS.getDevice(stream.node.rdev); - stream.stream_ops = device.stream_ops; - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - }, - llseek: function() { - throw new FS.ErrnoError(70); - } - }, - major: function(dev) { - return dev >> 8; - }, - minor: function(dev) { - return dev & 255; - }, - makedev: function(ma, mi) { - return ma << 8 | mi; - }, - registerDevice: function(dev, ops) { - FS.devices[dev] = { - stream_ops: ops - }; - }, - getDevice: function(dev) { - return FS.devices[dev]; - }, - getMounts: function(mount) { - var mounts = []; - var check = [ mount ]; - while (check.length) { - var m = check.pop(); - mounts.push(m); - check.push.apply(check, m.mounts); - } - return mounts; - }, - syncfs: function(populate, callback) { - if (typeof populate === "function") { - callback = populate; - populate = false; - } - FS.syncFSRequests++; - if (FS.syncFSRequests > 1) { - err("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); - } - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - function doCallback(errCode) { - FS.syncFSRequests--; - return callback(errCode); - } - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - } - mounts.forEach(function(mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount: function(type, opts, mountpoint) { - var root = mountpoint === "/"; - var pseudo = !mountpoint; - var node; - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { - follow_mount: false - }); - mountpoint = lookup.path; - node = lookup.node; - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - if (root) { - FS.root = mountRoot; - } else if (node) { - node.mounted = mount; - if (node.mount) { - node.mount.mounts.push(mount); - } - } - return mountRoot; - }, - unmount: function(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { - follow_mount: false - }); - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - Object.keys(FS.nameTable).forEach(function(hash) { - var current = FS.nameTable[hash]; - while (current) { - var next = current.name_next; - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - current = next; - } - }); - node.mounted = null; - var idx = node.mount.mounts.indexOf(mount); - node.mount.mounts.splice(idx, 1); - }, - lookup: function(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod: function(path, mode, dev) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === "." || name === "..") { - throw new FS.ErrnoError(28); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - create: function(path, mode) { - mode = mode !== undefined ? mode : 438; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir: function(path, mode) { - mode = mode !== undefined ? mode : 511; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree: function(path, mode) { - var dirs = path.split("/"); - var d = ""; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += "/" + dirs[i]; - try { - FS.mkdir(d, mode); - } catch (e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev: function(path, mode, dev) { - if (typeof dev === "undefined") { - dev = mode; - mode = 438; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink: function(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { - parent: true - }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename: function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - var lookup, old_dir, new_dir; - lookup = FS.lookupPath(old_path, { - parent: true - }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { - parent: true - }); - new_dir = lookup.node; - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - var old_node = FS.lookupNode(old_dir, old_name); - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(28); - } - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(55); - } - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (old_node === new_node) { - return; - } - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { - throw new FS.ErrnoError(10); - } - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - FS.hashRemoveNode(old_node); - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - FS.hashAddNode(old_node); - } - }, - rmdir: function(path) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir: function(path) { - var lookup = FS.lookupPath(path, { - follow: true - }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - }, - unlink: function(path) { - var lookup = FS.lookupPath(path, { - parent: true - }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink: function(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - }, - stat: function(path, dontFollow) { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - }, - lstat: function(path) { - return FS.stat(path, true); - }, - chmod: function(path, mode, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: mode & 4095 | node.mode & ~4095, - timestamp: Date.now() - }); - }, - lchmod: function(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod: function(fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chmod(stream.node, mode); - }, - chown: function(path, uid, gid, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: !dontFollow - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - }); - }, - lchown: function(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown: function(fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - }, - truncate: function(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { - follow: true - }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, "w"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - }, - ftruncate: function(fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - }, - utime: function(path, atime, mtime) { - var lookup = FS.lookupPath(path, { - follow: true - }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - }, - open: function(path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === "undefined" ? 438 : mode; - if (flags & 64) { - mode = mode & 4095 | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === "object") { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) {} - } - var created = false; - if (flags & 64) { - if (node) { - if (flags & 128) { - throw new FS.ErrnoError(20); - } - } else { - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - if (flags & 65536 && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - if (flags & 512) { - FS.truncate(node, 0); - } - flags &= ~(128 | 512 | 131072); - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), - id: node.id, - flags: flags, - mode: node.mode, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - node_ops: node.node_ops, - ungotten: [], - error: false - }, fd_start, fd_end); - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module["logReadFiles"] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close: function(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed: function(stream) { - return stream.fd === null; - }, - llseek: function(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read: function(stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position !== "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write: function(stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - FS.llseek(stream, 0, 2); - } - var seeking = typeof position !== "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - allocate: function(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - }, - mmap: function(stream, address, length, position, prot, flags) { - if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, address, length, position, prot, flags); - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - munmap: function(stream) { - return 0; - }, - ioctl: function(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile: function(path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || "binary"; - if (opts.encoding !== "utf8" && opts.encoding !== "binary") { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === "utf8") { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === "binary") { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile: function(path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data === "string") { - var buf = new Uint8Array(lengthBytesUTF8(data) + 1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error("Unsupported data type"); - } - FS.close(stream); - }, - cwd: function() { - return FS.currentPath; - }, - chdir: function(path) { - var lookup = FS.lookupPath(path, { - follow: true - }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, "x"); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories: function() { - FS.mkdir("/tmp"); - FS.mkdir("/home"); - FS.mkdir("/home/web_user"); - }, - createDefaultDevices: function() { - FS.mkdir("/dev"); - FS.registerDevice(FS.makedev(1, 3), { - read: function() { - return 0; - }, - write: function(stream, buffer, offset, length, pos) { - return length; - } - }); - FS.mkdev("/dev/null", FS.makedev(1, 3)); - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev("/dev/tty", FS.makedev(5, 0)); - FS.mkdev("/dev/tty1", FS.makedev(6, 0)); - var random_device = getRandomDevice(); - FS.createDevice("/dev", "random", random_device); - FS.createDevice("/dev", "urandom", random_device); - FS.mkdir("/dev/shm"); - FS.mkdir("/dev/shm/tmp"); - }, - createSpecialDirectories: function() { - FS.mkdir("/proc"); - var proc_self = FS.mkdir("/proc/self"); - FS.mkdir("/proc/self/fd"); - FS.mount({ - mount: function() { - var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - var ret = { - parent: null, - mount: { - mountpoint: "fake" - }, - node_ops: { - readlink: function() { - return stream.path; - } - } - }; - ret.parent = ret; - return ret; - } - }; - return node; - } - }, {}, "/proc/self/fd"); - }, - createStandardStreams: function() { - if (Module["stdin"]) { - FS.createDevice("/dev", "stdin", Module["stdin"]); - } else { - FS.symlink("/dev/tty", "/dev/stdin"); - } - if (Module["stdout"]) { - FS.createDevice("/dev", "stdout", null, Module["stdout"]); - } else { - FS.symlink("/dev/tty", "/dev/stdout"); - } - if (Module["stderr"]) { - FS.createDevice("/dev", "stderr", null, Module["stderr"]); - } else { - FS.symlink("/dev/tty1", "/dev/stderr"); - } - var stdin = FS.open("/dev/stdin", 0); - var stdout = FS.open("/dev/stdout", 1); - var stderr = FS.open("/dev/stderr", 1); - }, - ensureErrnoError: function() { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - }; - this.setErrno(errno); - this.message = "FS error"; - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - [ 44 ].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ""; - }); - }, - staticInit: function() { - FS.ensureErrnoError(); - FS.nameTable = new Array(4096); - FS.mount(MEMFS, {}, "/"); - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - FS.filesystems = { - "MEMFS": MEMFS - }; - }, - init: function(input, output, error) { - FS.init.initialized = true; - FS.ensureErrnoError(); - Module["stdin"] = input || Module["stdin"]; - Module["stdout"] = output || Module["stdout"]; - Module["stderr"] = error || Module["stderr"]; - FS.createStandardStreams(); - }, - quit: function() { - FS.init.initialized = false; - var fflush = Module["_fflush"]; - if (fflush) fflush(0); - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - }, - getMode: function(canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }, - findObject: function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - return null; - } - }, - analyzePath: function(path, dontResolveLastLink) { - try { - var lookup = FS.lookupPath(path, { - follow: !dontResolveLastLink - }); - path = lookup.path; - } catch (e) {} - var ret = { - isRoot: false, - exists: false, - error: 0, - name: null, - path: null, - object: null, - parentExists: false, - parentPath: null, - parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { - parent: true - }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { - follow: !dontResolveLastLink - }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === "/"; - } catch (e) { - ret.error = e.errno; - } - return ret; - }, - createPath: function(parent, path, canRead, canWrite) { - parent = typeof parent === "string" ? parent : FS.getPath(parent); - var parts = path.split("/").reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) {} - parent = current; - } - return current; - }, - createFile: function(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === "string") { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - }, - createDevice: function(parent, name, input, output) { - var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset + i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset + i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile: function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest !== "undefined") { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (read_) { - try { - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } else { - throw new Error("Cannot load without read() or XMLHttpRequest."); - } - }, - createLazyFile: function(parent, name, url, canRead, canWrite) { - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length - 1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = idx / this.chunkSize | 0; - return this.getter(chunkNum)[chunkOffset]; - }; - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - }; - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - var xhr = new XMLHttpRequest(); - xhr.open("HEAD", url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - var chunkSize = 1024 * 1024; - if (!hasByteServing) chunkSize = datalength; - var doXHR = function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); - var xhr = new XMLHttpRequest(); - xhr.open("GET", url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; - if (xhr.overrideMimeType) { - xhr.overrideMimeType("text/plain; charset=x-user-defined"); - } - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || "", true); - } - }; - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum + 1) * chunkSize - 1; - end = Math.min(end, datalength - 1); - if (typeof lazyArray.chunks[chunkNum] === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - if (usesGzip || !datalength) { - chunkSize = datalength = 1; - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - }; - if (typeof XMLHttpRequest !== "undefined") { - if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - var properties = { - isDevice: false, - contents: lazyArray - }; - } else { - var properties = { - isDevice: false, - url: url - }; - } - var node = FS.createFile(parent, name, properties, canRead, canWrite); - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - Object.defineProperties(node, { - usedBytes: { - get: function() { - return this.contents.length; - } - } - }); - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - FS.forceLoadFile(node); - return fn.apply(null, arguments); - }; - }); - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - FS.forceLoadFile(node); - var contents = stream.node.contents; - if (position >= contents.length) return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - }, - createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency("cp " + fullname); - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module["preloadPlugins"].forEach(function(plugin) { - if (handled) return; - if (plugin["canHandle"](fullname)) { - plugin["handle"](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == "string") { - asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - }, - indexedDB: function() { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - }, - DB_NAME: function() { - return "EM_FS_" + window.location.pathname; - }, - DB_VERSION: 20, - DB_STORE_NAME: "FILE_DATA", - saveFilesToDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - out("creating db"); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite"); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { - ok++; - if (ok + fail == total) finish(); - }; - putRequest.onerror = function putRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }, - loadFilesFromDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly"); - } catch (e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - } +function __emscripten_throw_longjmp() { + throw "longjmp"; +} + +var _emscripten_get_now; + +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function() { + var t = process["hrtime"](); + return t[0] * 1e3 + t[1] / 1e6; + }; +} else _emscripten_get_now = function() { + return performance.now(); }; +var _emscripten_get_now_is_monotonic = true; + +function checkWasiClock(clock_id) { + return clock_id == 0 || clock_id == 1 || clock_id == 2 || clock_id == 3; +} + var SYSCALLS = { mappings: {}, - DEFAULT_POLLMASK: 5, - calculateAt: function(dirfd, path, allowEmpty) { - if (path[0] === "/") { - return path; - } - var dir; - if (dirfd === -100) { - dir = FS.cwd(); + buffers: [ null, [], [] ], + printChar: function(stream, curr) { + var buffer = SYSCALLS.buffers[stream]; + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44); - } - return dir; - } - return PATH.join2(dir, path); - }, - doStat: function(func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - return -54; - } - throw e; - } - SAFE_HEAP_STORE(buf | 0, stat.dev | 0, 4); - SAFE_HEAP_STORE(buf + 4 | 0, 0 | 0, 4); - SAFE_HEAP_STORE(buf + 8 | 0, stat.ino | 0, 4); - SAFE_HEAP_STORE(buf + 12 | 0, stat.mode | 0, 4); - SAFE_HEAP_STORE(buf + 16 | 0, stat.nlink | 0, 4); - SAFE_HEAP_STORE(buf + 20 | 0, stat.uid | 0, 4); - SAFE_HEAP_STORE(buf + 24 | 0, stat.gid | 0, 4); - SAFE_HEAP_STORE(buf + 28 | 0, stat.rdev | 0, 4); - SAFE_HEAP_STORE(buf + 32 | 0, 0 | 0, 4); - tempI64 = [ stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - SAFE_HEAP_STORE(buf + 40 | 0, tempI64[0] | 0, 4), SAFE_HEAP_STORE(buf + 44 | 0, tempI64[1] | 0, 4); - SAFE_HEAP_STORE(buf + 48 | 0, 4096 | 0, 4); - SAFE_HEAP_STORE(buf + 52 | 0, stat.blocks | 0, 4); - SAFE_HEAP_STORE(buf + 56 | 0, stat.atime.getTime() / 1e3 | 0 | 0, 4); - SAFE_HEAP_STORE(buf + 60 | 0, 0 | 0, 4); - SAFE_HEAP_STORE(buf + 64 | 0, stat.mtime.getTime() / 1e3 | 0 | 0, 4); - SAFE_HEAP_STORE(buf + 68 | 0, 0 | 0, 4); - SAFE_HEAP_STORE(buf + 72 | 0, stat.ctime.getTime() / 1e3 | 0 | 0, 4); - SAFE_HEAP_STORE(buf + 76 | 0, 0 | 0, 4); - tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - SAFE_HEAP_STORE(buf + 80 | 0, tempI64[0] | 0, 4), SAFE_HEAP_STORE(buf + 84 | 0, tempI64[1] | 0, 4); - return 0; - }, - doMsync: function(addr, stream, len, flags, offset) { - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - doMkdir: function(path, mode) { - path = PATH.normalize(path); - if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); - FS.mkdir(path, mode, 0); - return 0; - }, - doMknod: function(path, mode, dev) { - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - - default: - return -28; - } - FS.mknod(path, mode, dev); - return 0; - }, - doReadlink: function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = SAFE_HEAP_LOAD(buf + len, 1, 0); - stringToUTF8(ret, buf, bufsize + 1); - SAFE_HEAP_STORE(buf + len, endChar, 1); - return len; - }, - doAccess: function(path, amode) { - if (amode & ~7) { - return -28; - } - var lookup = FS.lookupPath(path, { - follow: true - }); - var node = lookup.node; - if (!node) { - return -44; - } - var perms = ""; - if (amode & 4) perms += "r"; - if (amode & 2) perms += "w"; - if (amode & 1) perms += "x"; - if (perms && FS.nodePermissions(node, perms)) { - return -2; - } - return 0; - }, - doDup: function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - }, - doReadv: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = SAFE_HEAP_LOAD(iov + i * 8 | 0, 4, 0) | 0; - var len = SAFE_HEAP_LOAD(iov + (i * 8 + 4) | 0, 4, 0) | 0; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; - } - return ret; - }, - doWritev: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = SAFE_HEAP_LOAD(iov + i * 8 | 0, 4, 0) | 0; - var len = SAFE_HEAP_LOAD(iov + (i * 8 + 4) | 0, 4, 0) | 0; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; + buffer.push(curr); } - return ret; }, varargs: undefined, get: function() { @@ -3629,105 +1339,11 @@ var SYSCALLS = { var ret = UTF8ToString(ptr); return ret; }, - getStreamFromFD: function(fd) { - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - return stream; - }, get64: function(low, high) { return low; } }; -function ___syscall_fstat64(fd, buf) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - return SYSCALLS.doStat(FS.stat, stream.path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function ___syscall_fstatat64(dirfd, path, buf, flags) { - try { - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & ~4352; - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function ___syscall_getcwd(buf, size) { - try { - if (size === 0) return -28; - var cwd = FS.cwd(); - var cwdLengthInBytes = lengthBytesUTF8(cwd); - if (size < cwdLengthInBytes + 1) return -68; - stringToUTF8(cwd, buf, size); - return buf; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function ___syscall_lstat64(path, buf) { - try { - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.lstat, path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function ___syscall_readlink(path, buf, bufsize) { - try { - path = SYSCALLS.getStr(path); - return SYSCALLS.doReadlink(path, buf, bufsize); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function ___syscall_stat64(path, buf) { - try { - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.stat, path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return -e.errno; - } -} - -function __emscripten_throw_longjmp() { - throw "longjmp"; -} - -var _emscripten_get_now; - -if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function() { - var t = process["hrtime"](); - return t[0] * 1e3 + t[1] / 1e6; - }; -} else _emscripten_get_now = function() { - return performance.now(); -}; - -var _emscripten_get_now_is_monotonic = true; - -function checkWasiClock(clock_id) { - return clock_id == 0 || clock_id == 1 || clock_id == 2 || clock_id == 3; -} - function _clock_time_get(clk_id, precision_low, precision_high, ptime) { if (!checkWasiClock(clk_id)) { return 28; @@ -3819,58 +1435,31 @@ function _environ_sizes_get(penviron_count, penviron_buf_size) { } function _fd_close(fd) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } + return 0; } -function _fd_read(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doReadv(stream, iov, iovcnt); - SAFE_HEAP_STORE(pnum | 0, num | 0, 4); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } -} +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {} -function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 4294967296; - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - var DOUBLE_LIMIT = 9007199254740992; - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61; - } - FS.llseek(stream, offset, whence); - tempI64 = [ stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ], - SAFE_HEAP_STORE(newOffset | 0, tempI64[0] | 0, 4), SAFE_HEAP_STORE(newOffset + 4 | 0, tempI64[1] | 0, 4); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; - } +function flush_NO_FILESYSTEM() { + if (typeof _fflush !== "undefined") _fflush(0); + var buffers = SYSCALLS.buffers; + if (buffers[1].length) SYSCALLS.printChar(1, 10); + if (buffers[2].length) SYSCALLS.printChar(2, 10); } function _fd_write(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - SAFE_HEAP_STORE(pnum | 0, num | 0, 4); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) throw e; - return e.errno; + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = SAFE_HEAP_LOAD(iov | 0, 4, 0) | 0; + var len = SAFE_HEAP_LOAD(iov + 4 | 0, 4, 0) | 0; + iov += 8; + for (var j = 0; j < len; j++) { + SYSCALLS.printChar(fd, SAFE_HEAP_LOAD(ptr + j, 1, 1)); + } + num += len; } + SAFE_HEAP_STORE(pnum | 0, num | 0, 4); + return 0; } function _getTempRet0() { @@ -3885,58 +1474,6 @@ function _setTempRet0(val) { setTempRet0(val); } -var FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; -}; - -var readMode = 292 | 73; - -var writeMode = 146; - -Object.defineProperties(FSNode.prototype, { - read: { - get: function() { - return (this.mode & readMode) === readMode; - }, - set: function(val) { - val ? this.mode |= readMode : this.mode &= ~readMode; - } - }, - write: { - get: function() { - return (this.mode & writeMode) === writeMode; - }, - set: function(val) { - val ? this.mode |= writeMode : this.mode &= ~writeMode; - } - }, - isFolder: { - get: function() { - return FS.isDir(this.mode); - } - }, - isDevice: { - get: function() { - return FS.isChrdev(this.mode); - } - } -}); - -FS.FSNode = FSNode; - -FS.staticInit(); - var ASSERTIONS = false; function intArrayFromString(stringy, dontAddNull, length) { @@ -3963,12 +1500,6 @@ function intArrayToString(array) { } var asmLibraryArg = { - "__syscall_fstat64": ___syscall_fstat64, - "__syscall_fstatat64": ___syscall_fstatat64, - "__syscall_getcwd": ___syscall_getcwd, - "__syscall_lstat64": ___syscall_lstat64, - "__syscall_readlink": ___syscall_readlink, - "__syscall_stat64": ___syscall_stat64, "_emscripten_throw_longjmp": __emscripten_throw_longjmp, "alignfault": alignfault, "clock_time_get": _clock_time_get, @@ -3976,19 +1507,19 @@ var asmLibraryArg = { "environ_get": _environ_get, "environ_sizes_get": _environ_sizes_get, "fd_close": _fd_close, - "fd_read": _fd_read, "fd_seek": _fd_seek, "fd_write": _fd_write, "getTempRet0": _getTempRet0, + "invoke_i": invoke_i, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, + "invoke_iiiiii": invoke_iiiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, - "invoke_viiiii": invoke_viiiii, "proc_exit": _proc_exit, "segfault": segfault, "setTempRet0": _setTempRet0 @@ -4064,10 +1595,10 @@ var _emscripten_get_sbrk_ptr = Module["_emscripten_get_sbrk_ptr"] = function() { return (_emscripten_get_sbrk_ptr = Module["_emscripten_get_sbrk_ptr"] = Module["asm"]["emscripten_get_sbrk_ptr"]).apply(null, arguments); }; -function invoke_vi(index, a1) { +function invoke_ii(index, a1) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1); + return getWasmTableEntry(index)(a1); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -4075,10 +1606,10 @@ function invoke_vi(index, a1) { } } -function invoke_viii(index, a1, a2, a3) { +function invoke_iiiiii(index, a1, a2, a3, a4, a5) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1, a2, a3); + return getWasmTableEntry(index)(a1, a2, a3, a4, a5); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -4086,10 +1617,10 @@ function invoke_viii(index, a1, a2, a3) { } } -function invoke_viiiii(index, a1, a2, a3, a4, a5) { +function invoke_vi(index, a1) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); + getWasmTableEntry(index)(a1); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -4097,10 +1628,10 @@ function invoke_viiiii(index, a1, a2, a3, a4, a5) { } } -function invoke_vii(index, a1, a2) { +function invoke_viii(index, a1, a2, a3) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1, a2); + getWasmTableEntry(index)(a1, a2, a3); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -4119,10 +1650,21 @@ function invoke_iii(index, a1, a2) { } } -function invoke_ii(index, a1) { +function invoke_vii(index, a1, a2) { var sp = stackSave(); try { - return getWasmTableEntry(index)(a1); + getWasmTableEntry(index)(a1, a2); + } catch (e) { + stackRestore(sp); + if (e !== e + 0 && e !== "longjmp") throw e; + _setThrew(1, 0); + } +} + +function invoke_i(index) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; diff --git a/jsc/es.next/jsc.wasm b/jsc/es.next/jsc.wasm index 8dafd1e..118b42a 100644 Binary files a/jsc/es.next/jsc.wasm and b/jsc/es.next/jsc.wasm differ diff --git a/jsc/es.next/jsc.wasm.map b/jsc/es.next/jsc.wasm.map index 352b7b4..799634d 100644 --- a/jsc/es.next/jsc.wasm.map +++ b/jsc/es.next/jsc.wasm.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/crt1_reactor.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memcmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strnlen.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memchr.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/acosh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/atan2.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/cache/sysroot/include/math.h","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/fabs.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__rem_pio2.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/cos.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__cos.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/log1p.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/cosh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__expo2.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/sin.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__tan.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/tan.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/cbrt.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/atanh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__sin.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/sinh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/asinh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/sqrt.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/expm1.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/nextafter.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/asin.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/acos.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/atan.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/tanh.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/floor.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__rem_pio2_large.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strchrnul.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/internal/syscall_ret.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strdup.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/unistd/getcwd.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/unistd/readlink.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/misc/realpath.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/misc/dirname.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fread.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/stdout.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/emscripten_syscall_stubs.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/unistd/getpid.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/pthread/pthread_self_stub.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/unistd/lseek.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/ftell.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__stdio_exit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__toread.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/frexp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/vfprintf.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fseek.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strchr.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__fmodeflags.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__stdio_read.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/ofl_add.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__fdopen.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fopen.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fflush.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fclose.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/ofl.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stat/stat.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stat/fstatat.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/multibyte/wctomb.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/multibyte/wcrtomb.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/prng/rand.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/ctype/isdigit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/extras.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/wasi-helpers.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/lib/builtins/ashlti3.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/lib/builtins/lshrti3.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/lib/builtins/trunctfdf2.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc_impl.inc","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/lib/builtins/fp_trunc.h","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/dlmalloc.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/emscripten_get_heap_size.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/sbrk.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/exit/_Exit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strcmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/standalone/standalone.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/emscripten_memcpy.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/clock_gettime.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/gettimeofday.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/__year_to_secs.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/__month_to_secs.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/env/__environ.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strncmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/env/getenv.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/mman/munmap.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/__tz.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/__secs_to_tm.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/time/localtime_r.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/exit/exit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/fmod.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/log10.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/exp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/internal/libm.h","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/scalbn.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__math_xflow.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__math_oflow.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__math_uflow.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/pow.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/__math_divzero.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/log.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/log2.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memset.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memmove.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__towrite.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/fwrite.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strlen.c"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/crt1_reactor.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strcmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memcmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/internal/syscall_ret.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_seek.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strchrnul.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strchr.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memchr.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/ofl.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/stdout.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_write.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_close.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__stdio_exit.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/prng/rand.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/asinh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/cos.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/acosh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/tanh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__rem_pio2.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/sin.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/log1p.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/fabs.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/atan.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/cache/sysroot/include/math.h","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/atanh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/tan.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/expm1.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/cbrt.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__sin.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__tan.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/acos.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/nextafter.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__cos.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/sqrt.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/atan2.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/asin.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/floor.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__rem_pio2_large.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__expo2.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/cosh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/sinh.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/unistd/lseek.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/extras.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/wasi-helpers.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/dlmalloc.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/emscripten_get_heap_size.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/sbrk.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/exit/_Exit.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/standalone/standalone.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/emscripten_memcpy.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/clock_gettime.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/difftime.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/gettimeofday.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/__secs_to_tm.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/__year_to_secs.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/__month_to_secs.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/env/__environ.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strncmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/env/getenv.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/mman/munmap.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/__tz.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/gmtime_r.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/__tm_to_secs.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/time/mktime.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/exit/exit.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/fmod.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/log10.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/exp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/internal/libm.h","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/scalbn.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_xflow.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_oflow.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_uflow.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_invalid.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/pow.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/__math_divzero.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/log.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/log2.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memset.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memmove.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/stdio/__lockfile.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strlen.c"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/jsc/minimal/jsc.js b/jsc/minimal/jsc.js index ad7ab03..e82cae9 100644 --- a/jsc/minimal/jsc.js +++ b/jsc/minimal/jsc.js @@ -1206,10 +1206,10 @@ var tempDouble; var tempI64; var ASM_CONSTS = { - 11440: function() { + 12292: function() { throw new Error("Input must be valid UTF-8"); }, - 11491: function($0) { + 12343: function($0) { throw new Error(UTF8ToString($0)); } }; @@ -1389,14 +1389,15 @@ var asmLibraryArg = { "alignfault": alignfault, "emscripten_asm_const_int": _emscripten_asm_const_int, "getTempRet0": _getTempRet0, + "invoke_i": invoke_i, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, + "invoke_iiiiii": invoke_iiiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, - "invoke_viiiii": invoke_viiiii, "proc_exit": _proc_exit, "segfault": segfault, "setTempRet0": _setTempRet0 @@ -1472,6 +1473,28 @@ var _emscripten_get_sbrk_ptr = Module["_emscripten_get_sbrk_ptr"] = function() { return (_emscripten_get_sbrk_ptr = Module["_emscripten_get_sbrk_ptr"] = Module["asm"]["emscripten_get_sbrk_ptr"]).apply(null, arguments); }; +function invoke_ii(index, a1) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1); + } catch (e) { + stackRestore(sp); + if (e !== e + 0 && e !== "longjmp") throw e; + _setThrew(1, 0); + } +} + +function invoke_iiiiii(index, a1, a2, a3, a4, a5) { + var sp = stackSave(); + try { + return getWasmTableEntry(index)(a1, a2, a3, a4, a5); + } catch (e) { + stackRestore(sp); + if (e !== e + 0 && e !== "longjmp") throw e; + _setThrew(1, 0); + } +} + function invoke_vi(index, a1) { var sp = stackSave(); try { @@ -1494,10 +1517,10 @@ function invoke_viii(index, a1, a2, a3) { } } -function invoke_viiiii(index, a1, a2, a3, a4, a5) { +function invoke_iii(index, a1, a2) { var sp = stackSave(); try { - getWasmTableEntry(index)(a1, a2, a3, a4, a5); + return getWasmTableEntry(index)(a1, a2); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -1516,10 +1539,10 @@ function invoke_vii(index, a1, a2) { } } -function invoke_ii(index, a1) { +function invoke_i(index) { var sp = stackSave(); try { - return getWasmTableEntry(index)(a1); + return getWasmTableEntry(index)(); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; @@ -1549,17 +1572,6 @@ function invoke_iiiii(index, a1, a2, a3, a4) { } } -function invoke_iii(index, a1, a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1, a2); - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0); - } -} - Module["cwrap"] = cwrap; var calledRun; diff --git a/jsc/minimal/jsc.wasm b/jsc/minimal/jsc.wasm index c63c739..1a36876 100644 Binary files a/jsc/minimal/jsc.wasm and b/jsc/minimal/jsc.wasm differ diff --git a/jsc/minimal/jsc.wasm.map b/jsc/minimal/jsc.wasm.map index e7730bb..b7f1dbd 100644 --- a/jsc/minimal/jsc.wasm.map +++ b/jsc/minimal/jsc.wasm.map @@ -1 +1 @@ -{"version":3,"sources":["../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/crt1_reactor.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memcmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/math/nextafter.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/cache/sysroot/include/math.h","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/dlmalloc.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/emscripten_get_heap_size.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/sbrk.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/exit/_Exit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/standalone/standalone.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/emscripten_memcpy.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/exit/exit.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memset.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/memmove.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/musl/src/string/strlen.c","../../../../../../../../../../../b/s/w/ir/k/install/emscripten/system/lib/libc/extras.c"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/crt1_reactor.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memcmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/math/nextafter.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/cache/sysroot/include/math.h","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_setjmp.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/compiler-rt/emscripten_exception_builtins.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/errno/__errno_location.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/dlmalloc.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/emscripten_get_heap_size.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/sbrk.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/exit/_Exit.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/standalone/standalone.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/emscripten_memcpy.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/exit/exit.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memset.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/memmove.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/musl/src/string/strlen.c","../../../../../../../../../../../opt/emsdk/upstream/emscripten/system/lib/libc/extras.c"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/samples/Event_Jsvm/src/include/vm_functions.h b/samples/Event_Jsvm/src/include/vm_functions.h index eebc4ee..a61e71f 100644 --- a/samples/Event_Jsvm/src/include/vm_functions.h +++ b/samples/Event_Jsvm/src/include/vm_functions.h @@ -41,5 +41,5 @@ void triggerEvent(const String& name, const JsEventData& data); * @endcode * */ -jerry_value_t addEventListener(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt); +jerry_value_t addEventListener(const jerry_call_info_t* call_info_p, const jerry_value_t args_p[], + const jerry_length_t args_count); diff --git a/samples/Event_Jsvm/src/vm_functions.cpp b/samples/Event_Jsvm/src/vm_functions.cpp index 364cc52..6bc8a2e 100644 --- a/samples/Event_Jsvm/src/vm_functions.cpp +++ b/samples/Event_Jsvm/src/vm_functions.cpp @@ -12,13 +12,12 @@ Events events; } // namespace -jerry_value_t addEventListener(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt) +jerry_value_t addEventListener(const jerry_call_info_t* call_info_p, const jerry_value_t args_p[], + const jerry_length_t args_count) { - (void)function_obj; /* unused */ - (void)this_val; /* unused */ + (void)call_info_p; - if(args_cnt != 2) { + if(args_count != 2) { return jerry_create_boolean(false); } diff --git a/src/Jsvm.cpp b/src/Jsvm.cpp index d91010b..fe512bb 100644 --- a/src/Jsvm.cpp +++ b/src/Jsvm.cpp @@ -38,7 +38,7 @@ bool Jsvm::eval(const String& jsCode) bool Jsvm::load(const uint32_t* snapshot, size_t size) { - jerry_value_t ret_code = jerry_exec_snapshot(snapshot, size, 0, JERRY_SNAPSHOT_EXEC_COPY_DATA); + jerry_value_t ret_code = jerry_exec_snapshot(snapshot, size, 0, JERRY_SNAPSHOT_EXEC_COPY_DATA, NULL); bool is_error = jerry_value_is_error(ret_code); jerry_release_value(ret_code); diff --git a/src/jerry-port.cpp b/src/jerry-port.cpp index 141b6ed..2916ee5 100644 --- a/src/jerry-port.cpp +++ b/src/jerry-port.cpp @@ -100,25 +100,3 @@ void jerry_port_fatal(jerry_fatal_code_t code) exit(code); } } /* jerry_port_fatal */ - -/** - * Default implementation of jerry_port_track_promise_rejection. - * Prints the reason of the unhandled rejections. - */ -void jerry_port_track_promise_rejection(const jerry_value_t promise, - const jerry_promise_rejection_operation_t operation) -{ - (void)operation; /* unused */ - - jerry_value_t reason = jerry_get_promise_result(promise); - jerry_value_t reason_to_string = jerry_value_to_string(reason); - jerry_size_t req_sz = jerry_get_utf8_string_size(reason_to_string); - JERRY_VLA(jerry_char_t, str_buf_p, req_sz + 1); - jerry_string_to_utf8_char_buffer(reason_to_string, str_buf_p, req_sz); - str_buf_p[req_sz] = '\0'; - - jerry_release_value(reason_to_string); - jerry_release_value(reason); - - jerry_port_log(JERRY_LOG_LEVEL_WARNING, _F("Uncaught (in promise) %s\n"), str_buf_p); -} /* jerry_port_track_promise_rejection */ diff --git a/src/jsvm-ext.cpp b/src/jsvm-ext.cpp index 0b4652b..40d7ff7 100644 --- a/src/jsvm-ext.cpp +++ b/src/jsvm-ext.cpp @@ -15,8 +15,8 @@ #define jerryx_port_handler_print_char(A) m_putc(A) -jerry_value_t alertFunction(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt) +jerry_value_t alertFunction(const jerry_call_info_t *call_info_p, + const jerry_value_t args_p[], const jerry_length_t args_count) { jerry_value_t str_val = jerry_value_to_string(args_p[0]); @@ -32,18 +32,15 @@ jerry_value_t alertFunction(const jerry_value_t function_obj, const jerry_value_ return jerry_create_boolean(true); } -jerry_value_t printFunction(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt) +jerry_value_t printFunction(const jerry_call_info_t *call_info_p, + const jerry_value_t args_p[], const jerry_length_t args_count) { - (void)function_obj; /* unused */ - (void)this_val; /* unused */ - static const char* null_str = "\\u0000"; jerry_length_t arg_index = 0; jerry_value_t ret_val = jerry_create_undefined(); - for(arg_index = 0; jerry_value_is_undefined(ret_val) && arg_index < args_cnt; arg_index++) { + for(arg_index = 0; jerry_value_is_undefined(ret_val) && arg_index < args_count; arg_index++) { jerry_value_t str_val = jerry_value_to_string(args_p[arg_index]); if(!jerry_value_is_error(str_val)) { diff --git a/src/jsvm-ext.h b/src/jsvm-ext.h index 36258f7..80321f2 100644 --- a/src/jsvm-ext.h +++ b/src/jsvm-ext.h @@ -24,14 +24,14 @@ extern "C" { /** * brief Function that prints data in the debug console */ -jerry_value_t alertFunction(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt); +jerry_value_t alertFunction(const jerry_call_info_t *call_info_p, + const jerry_value_t args_p[], const jerry_length_t args_count); /** * brief Function that prints data in the standard console */ -jerry_value_t printFunction(const jerry_value_t function_obj, const jerry_value_t this_val, - const jerry_value_t args_p[], const jerry_length_t args_cnt); +jerry_value_t printFunction(const jerry_call_info_t *call_info_p, + const jerry_value_t args_p[], const jerry_length_t args_count); #ifdef __cplusplus }