webassemblyjs
Advanced tools
Comparing version 1.8.0 to 1.8.1
@@ -7,2 +7,3 @@ function _sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
import Long from "@xtuc/long"; | ||
import { Memory } from "../runtime/values/memory"; | ||
@@ -96,2 +97,6 @@ import { RuntimeError } from "../../errors"; | ||
if (l === "u64") { | ||
l = "i64"; | ||
} | ||
if (r === "u32") { | ||
@@ -101,2 +106,6 @@ r = "i32"; | ||
if (r === "u64") { | ||
r = "i64"; | ||
} | ||
return l === r; | ||
@@ -136,7 +145,7 @@ } | ||
if (valueTypeEq(c2.type, type2) === false) { | ||
throw newRuntimeError("Internal failure: expected c2 value of type " + type2 + " on top of the stack, give type: " + c2.type); | ||
throw newRuntimeError("Internal failure: expected c2 value of type " + type2 + " on top of the stack, given type: " + c2.type); | ||
} | ||
if (valueTypeEq(c1.type, type1) === false) { | ||
throw newRuntimeError("Internal failure: expected c1 value of type " + type1 + " on top of the stack, give type: " + c1.type); | ||
throw newRuntimeError("Internal failure: expected c1 value of type " + type1 + " on top of the stack, given type: " + c1.type); | ||
} | ||
@@ -440,4 +449,11 @@ | ||
var init = castIntoStackLocalOfType(valtype.name, 0); | ||
frame.locals.push(init); | ||
if (valtype.name === "i64") { | ||
var init = castIntoStackLocalOfType(valtype.name, new Long(0, 0)); | ||
frame.locals.push(init); | ||
} else { | ||
var _init = castIntoStackLocalOfType(valtype.name, 0); | ||
frame.locals.push(_init); | ||
} | ||
break; | ||
@@ -444,0 +460,0 @@ } |
@@ -346,3 +346,4 @@ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
function createModuleExport(node, instantiatedItemArray, validate) { | ||
function createModuleExport(node, // FIXME(sven): instantiatedItemArray should be removed in favor of | ||
instantiatedItemArray, instantiatedItemInFromModule, validate) { | ||
if (isIdentifier(node.descr.id) === true) { | ||
@@ -360,5 +361,10 @@ var instantiatedItem = instantiatedItemArray[node.descr.id.value]; | ||
} else if (isNumberLiteral(node.descr.id) === true) { | ||
var keys = Object.keys(instantiatedItemArray); // $FlowIgnore | ||
var _instantiatedItem = { | ||
addr: instantiatedItemInFromModule[parseInt(node.descr.id.value)] | ||
}; | ||
var _instantiatedItem = instantiatedItemArray[keys[node.descr.id.value]]; | ||
if (!(_instantiatedItem !== undefined)) { | ||
throw new Error('_instantiatedItem !== undefined' + " error: " + (undefined || "unknown")); | ||
} | ||
validate(_instantiatedItem); | ||
@@ -395,5 +401,5 @@ assertNotAlreadyExported(node.name); | ||
{ | ||
createModuleExport(node, internals.instantiatedFuncs, function (instantiatedFunc) { | ||
if (!(typeof instantiatedFunc !== "undefined")) { | ||
throw new Error('typeof instantiatedFunc !== "undefined"' + " error: " + ("unknown Func" || "unknown")); | ||
createModuleExport(node, internals.instantiatedFuncs, moduleInstance.funcaddrs, function (instantiatedFunc) { | ||
if (!(instantiatedFunc !== undefined)) { | ||
throw new Error('instantiatedFunc !== undefined' + " error: " + ("Function ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -406,9 +412,15 @@ }); | ||
{ | ||
createModuleExport(node, internals.instantiatedGlobals, function (instantiatedGlobal) { | ||
if (!(typeof instantiatedGlobal !== "undefined")) { | ||
throw new Error('typeof instantiatedGlobal !== "undefined"' + " error: " + ("unknown Gloal" || "unknown")); | ||
createModuleExport(node, internals.instantiatedGlobals, moduleInstance.globaladdrs, function (instantiatedGlobal) { | ||
if (!(instantiatedGlobal !== undefined)) { | ||
throw new Error('instantiatedGlobal !== undefined' + " error: " + ("Global ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
var global = allocator.get(instantiatedGlobal.addr); | ||
if (!(global !== undefined)) { | ||
throw new Error('global !== undefined' + " error: " + (undefined || "unknown")); | ||
} | ||
// TODO(sven): move to validation error? | ||
if (instantiatedGlobal.type.mutability === "var") { | ||
if (global.mutability === "var") { | ||
throw new CompileError("Mutable globals cannot be exported"); | ||
@@ -422,5 +434,5 @@ } | ||
{ | ||
createModuleExport(node, internals.instantiatedTables, function (instantiatedTable) { | ||
if (!(typeof instantiatedTable !== "undefined")) { | ||
throw new Error('typeof instantiatedTable !== "undefined"' + " error: " + ("unknown Table" || "unknown")); | ||
createModuleExport(node, internals.instantiatedTables, moduleInstance.tableaddrs, function (instantiatedTable) { | ||
if (!(instantiatedTable !== undefined)) { | ||
throw new Error('instantiatedTable !== undefined' + " error: " + ("Table ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -434,5 +446,5 @@ }); | ||
{ | ||
createModuleExport(node, internals.instantiatedMemories, function (instantiatedMemory) { | ||
if (!(typeof instantiatedMemory !== "undefined")) { | ||
throw new Error('typeof instantiatedMemory !== "undefined"' + " error: " + ("unknown Memory" || "unknown")); | ||
createModuleExport(node, internals.instantiatedMemories, moduleInstance.memaddrs, function (instantiatedMemory) { | ||
if (!(instantiatedMemory !== undefined)) { | ||
throw new Error('instantiatedMemory !== undefined' + " error: " + ("Memory ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -439,0 +451,0 @@ }); |
@@ -8,2 +8,4 @@ "use strict"; | ||
var _long = _interopRequireDefault(require("@xtuc/long")); | ||
var _memory2 = require("../runtime/values/memory"); | ||
@@ -13,2 +15,4 @@ | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
@@ -105,2 +109,6 @@ | ||
if (l === "u64") { | ||
l = "i64"; | ||
} | ||
if (r === "u32") { | ||
@@ -110,2 +118,6 @@ r = "i32"; | ||
if (r === "u64") { | ||
r = "i64"; | ||
} | ||
return l === r; | ||
@@ -145,7 +157,7 @@ } | ||
if (valueTypeEq(c2.type, type2) === false) { | ||
throw newRuntimeError("Internal failure: expected c2 value of type " + type2 + " on top of the stack, give type: " + c2.type); | ||
throw newRuntimeError("Internal failure: expected c2 value of type " + type2 + " on top of the stack, given type: " + c2.type); | ||
} | ||
if (valueTypeEq(c1.type, type1) === false) { | ||
throw newRuntimeError("Internal failure: expected c1 value of type " + type1 + " on top of the stack, give type: " + c1.type); | ||
throw newRuntimeError("Internal failure: expected c1 value of type " + type1 + " on top of the stack, given type: " + c1.type); | ||
} | ||
@@ -449,4 +461,11 @@ | ||
var init = castIntoStackLocalOfType(valtype.name, 0); | ||
frame.locals.push(init); | ||
if (valtype.name === "i64") { | ||
var init = castIntoStackLocalOfType(valtype.name, new _long.default(0, 0)); | ||
frame.locals.push(init); | ||
} else { | ||
var _init = castIntoStackLocalOfType(valtype.name, 0); | ||
frame.locals.push(_init); | ||
} | ||
break; | ||
@@ -453,0 +472,0 @@ } |
@@ -357,3 +357,4 @@ "use strict"; | ||
function createModuleExport(node, instantiatedItemArray, validate) { | ||
function createModuleExport(node, // FIXME(sven): instantiatedItemArray should be removed in favor of | ||
instantiatedItemArray, instantiatedItemInFromModule, validate) { | ||
if ((0, _nodes.isIdentifier)(node.descr.id) === true) { | ||
@@ -371,5 +372,10 @@ var instantiatedItem = instantiatedItemArray[node.descr.id.value]; | ||
} else if ((0, _nodes.isNumberLiteral)(node.descr.id) === true) { | ||
var keys = Object.keys(instantiatedItemArray); // $FlowIgnore | ||
var _instantiatedItem = { | ||
addr: instantiatedItemInFromModule[parseInt(node.descr.id.value)] | ||
}; | ||
var _instantiatedItem = instantiatedItemArray[keys[node.descr.id.value]]; | ||
if (!(_instantiatedItem !== undefined)) { | ||
throw new Error('_instantiatedItem !== undefined' + " error: " + (undefined || "unknown")); | ||
} | ||
validate(_instantiatedItem); | ||
@@ -406,5 +412,5 @@ assertNotAlreadyExported(node.name); | ||
{ | ||
createModuleExport(node, internals.instantiatedFuncs, function (instantiatedFunc) { | ||
if (!(typeof instantiatedFunc !== "undefined")) { | ||
throw new Error('typeof instantiatedFunc !== "undefined"' + " error: " + ("unknown Func" || "unknown")); | ||
createModuleExport(node, internals.instantiatedFuncs, moduleInstance.funcaddrs, function (instantiatedFunc) { | ||
if (!(instantiatedFunc !== undefined)) { | ||
throw new Error('instantiatedFunc !== undefined' + " error: " + ("Function ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -417,9 +423,15 @@ }); | ||
{ | ||
createModuleExport(node, internals.instantiatedGlobals, function (instantiatedGlobal) { | ||
if (!(typeof instantiatedGlobal !== "undefined")) { | ||
throw new Error('typeof instantiatedGlobal !== "undefined"' + " error: " + ("unknown Gloal" || "unknown")); | ||
createModuleExport(node, internals.instantiatedGlobals, moduleInstance.globaladdrs, function (instantiatedGlobal) { | ||
if (!(instantiatedGlobal !== undefined)) { | ||
throw new Error('instantiatedGlobal !== undefined' + " error: " + ("Global ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
var global = allocator.get(instantiatedGlobal.addr); | ||
if (!(global !== undefined)) { | ||
throw new Error('global !== undefined' + " error: " + (undefined || "unknown")); | ||
} | ||
// TODO(sven): move to validation error? | ||
if (instantiatedGlobal.type.mutability === "var") { | ||
if (global.mutability === "var") { | ||
throw new CompileError("Mutable globals cannot be exported"); | ||
@@ -433,5 +445,5 @@ } | ||
{ | ||
createModuleExport(node, internals.instantiatedTables, function (instantiatedTable) { | ||
if (!(typeof instantiatedTable !== "undefined")) { | ||
throw new Error('typeof instantiatedTable !== "undefined"' + " error: " + ("unknown Table" || "unknown")); | ||
createModuleExport(node, internals.instantiatedTables, moduleInstance.tableaddrs, function (instantiatedTable) { | ||
if (!(instantiatedTable !== undefined)) { | ||
throw new Error('instantiatedTable !== undefined' + " error: " + ("Table ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -445,5 +457,5 @@ }); | ||
{ | ||
createModuleExport(node, internals.instantiatedMemories, function (instantiatedMemory) { | ||
if (!(typeof instantiatedMemory !== "undefined")) { | ||
throw new Error('typeof instantiatedMemory !== "undefined"' + " error: " + ("unknown Memory" || "unknown")); | ||
createModuleExport(node, internals.instantiatedMemories, moduleInstance.memaddrs, function (instantiatedMemory) { | ||
if (!(instantiatedMemory !== undefined)) { | ||
throw new Error('instantiatedMemory !== undefined' + " error: " + ("Memory ".concat(node.name, " has been exported but was not instantiated") || "unknown")); | ||
} | ||
@@ -450,0 +462,0 @@ }); |
{ | ||
"name": "webassemblyjs", | ||
"version": "1.8.0", | ||
"version": "1.8.1", | ||
"keywords": [ | ||
@@ -22,11 +22,11 @@ "webassembly", | ||
"dependencies": { | ||
"@webassemblyjs/ast": "1.8.0", | ||
"@webassemblyjs/helper-compiler": "1.8.0", | ||
"@webassemblyjs/validation": "1.8.0", | ||
"@webassemblyjs/wasm-parser": "1.8.0", | ||
"@webassemblyjs/wast-parser": "1.8.0", | ||
"@webassemblyjs/ast": "1.8.1", | ||
"@webassemblyjs/helper-compiler": "1.8.1", | ||
"@webassemblyjs/validation": "1.8.1", | ||
"@webassemblyjs/wasm-parser": "1.8.1", | ||
"@webassemblyjs/wast-parser": "1.8.1", | ||
"@xtuc/long": "4.2.1" | ||
}, | ||
"devDependencies": { | ||
"@webassemblyjs/floating-point-hex-parser": "1.8.0", | ||
"@webassemblyjs/floating-point-hex-parser": "1.8.1", | ||
"mamacro": "^0.0.3", | ||
@@ -39,3 +39,3 @@ "wabt": "1.0.0-nightly.20180421" | ||
}, | ||
"gitHead": "8b2d1afa793ea81f20ec63416134c201e39694eb" | ||
"gitHead": "a2f42245e9b597e3541e0f697253449d60fc4d79" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
284516
6318
+ Added@webassemblyjs/ast@1.8.1(transitive)
+ Added@webassemblyjs/floating-point-hex-parser@1.8.1(transitive)
+ Added@webassemblyjs/helper-api-error@1.8.1(transitive)
+ Added@webassemblyjs/helper-code-frame@1.8.1(transitive)
+ Added@webassemblyjs/helper-compiler@1.8.1(transitive)
+ Added@webassemblyjs/helper-flatten-ast@1.8.1(transitive)
+ Added@webassemblyjs/helper-fsm@1.8.1(transitive)
+ Added@webassemblyjs/helper-module-context@1.8.1(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.8.1(transitive)
+ Added@webassemblyjs/ieee754@1.8.1(transitive)
+ Added@webassemblyjs/leb128@1.8.1(transitive)
+ Added@webassemblyjs/utf8@1.8.1(transitive)
+ Added@webassemblyjs/validation@1.8.1(transitive)
+ Added@webassemblyjs/wasm-parser@1.8.1(transitive)
+ Added@webassemblyjs/wast-parser@1.8.1(transitive)
+ Added@webassemblyjs/wast-printer@1.8.1(transitive)
- Removed@webassemblyjs/ast@1.8.0(transitive)
- Removed@webassemblyjs/floating-point-hex-parser@1.8.0(transitive)
- Removed@webassemblyjs/helper-api-error@1.8.0(transitive)
- Removed@webassemblyjs/helper-code-frame@1.8.0(transitive)
- Removed@webassemblyjs/helper-compiler@1.8.0(transitive)
- Removed@webassemblyjs/helper-flatten-ast@1.8.0(transitive)
- Removed@webassemblyjs/helper-fsm@1.8.0(transitive)
- Removed@webassemblyjs/helper-module-context@1.8.0(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.8.0(transitive)
- Removed@webassemblyjs/ieee754@1.8.0(transitive)
- Removed@webassemblyjs/leb128@1.8.0(transitive)
- Removed@webassemblyjs/utf8@1.8.0(transitive)
- Removed@webassemblyjs/validation@1.8.0(transitive)
- Removed@webassemblyjs/wasm-parser@1.8.0(transitive)
- Removed@webassemblyjs/wast-parser@1.8.0(transitive)
- Removed@webassemblyjs/wast-printer@1.8.0(transitive)
Updated@webassemblyjs/ast@1.8.1