Socket
Socket
Sign inDemoInstall

webassemblyjs

Package Overview
Dependencies
Maintainers
1
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webassemblyjs - npm Package Compare versions

Comparing version 1.4.3 to 1.5.0

benchmark/add/bench.js

9

lib/interpreter/host-func.js

@@ -11,2 +11,4 @@ "use strict";

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var t = require("@webassemblyjs/ast");

@@ -32,2 +34,4 @@

return function hostfunc() {
var _stackFrame$locals;
var exportinstAddr = exportinst.value.addr;

@@ -82,4 +86,7 @@ /**

});
var stackFrame = createStackFrame(funcinst.code, argsWithType, funcinst.module, allocator); // 2. Enter the block instr∗ with label
var stackFrame = createStackFrame(funcinst.code, argsWithType, funcinst.module, allocator); // push func's params into stackFrame locals
(_stackFrame$locals = stackFrame.locals).push.apply(_stackFrame$locals, _toConsumableArray(argsWithType)); // 2. Enter the block instr∗ with label
stackFrame.values.push(label.createValue(exportinst.name));

@@ -86,0 +93,0 @@ stackFrame.labels.push({

158

lib/interpreter/kernel/exec.js

@@ -62,3 +62,3 @@ "use strict";

if (depth >= 300) {
throw new _errors.RuntimeError("Maximum call stack depth reached");
throw new _errors.RuntimeError("Maximum call stack depth reached (".concat(depth, ")"));
}

@@ -78,8 +78,7 @@ }

(function () {
if (!(frame !== undefined)) {
throw new _errors.RuntimeError("Assertion error: " + ("no frame at " + framepointer || "unknown"));
}
})();
if (!("no frame at " + framepointer)) {
throw new _errors.RuntimeError("Assertion error: " + (frame !== undefined || "unknown"));
}
undefined;
framepointer++;

@@ -98,8 +97,7 @@

function setLocalByIndex(index, value) {
(function () {
if (!(typeof index === "number")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
})();
if (!(typeof index === "number")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
undefined;
frame.locals[index] = value;

@@ -117,8 +115,9 @@ }

function popArrayOfValTypes(types) {
(function () {
if (frame.values.length < types.length) {
throw new _errors.RuntimeError("Assertion error: expected " + types.length + " on the stack, found " + frame.values.length);
}
})();
var s = types.length;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
return types.map(function (type) {

@@ -130,8 +129,9 @@ return pop1OfType(type);

function pop1OfType(type) {
(function () {
if (frame.values.length < 1) {
throw new _errors.RuntimeError("Assertion error: expected " + 1 + " on the stack, found " + frame.values.length);
}
})();
var s = 1;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
var v = frame.values.pop();

@@ -147,8 +147,9 @@

function pop1() {
(function () {
if (frame.values.length < 1) {
throw new _errors.RuntimeError("Assertion error: expected " + 1 + " on the stack, found " + frame.values.length);
}
})();
var s = 1;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
return frame.values.pop();

@@ -158,8 +159,9 @@ }

function pop2(type1, type2) {
(function () {
if (frame.values.length < 2) {
throw new _errors.RuntimeError("Assertion error: expected " + 2 + " on the stack, found " + frame.values.length);
}
})();
var s = 2;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
var c2 = frame.values.pop();

@@ -256,8 +258,7 @@ var c1 = frame.values.pop();

(function () {
if (!(frame !== undefined)) {
throw new _errors.RuntimeError("Assertion error: " + ("no active frame" || "unknown"));
}
})();
if (!"no active frame") {
throw new _errors.RuntimeError("Assertion error: " + (frame !== undefined || "unknown"));
}
undefined;
var nextStackFrame = stackframe.createChildStackFrame(frame, instrs);

@@ -287,8 +288,8 @@

(function () {
if (!(instruction !== undefined)) {
throw new _errors.RuntimeError("Assertion error: " + ("no instruction at pc ".concat(frame._pc, " in frame ").concat(framepointer) || "unknown"));
}
})();
if (!"no instruction at pc ".concat(frame._pc, " in frame ").concat(framepointer)) {
throw new _errors.RuntimeError("Assertion error: " + (instruction !== undefined || "unknown"));
}
undefined;
if (typeof frame.trace === "function") {

@@ -336,13 +337,13 @@ frame.trace(framepointer, frame._pc, instruction, frame);

// https://webassembly.github.io/spec/core/exec/instructions.html#exec-const
var n = instruction.args[0];
var _n = instruction.args[0];
if (typeof n === "undefined") {
if (typeof _n === "undefined") {
throw newRuntimeError("const requires one argument, none given.");
}
if (n.type !== "NumberLiteral" && n.type !== "LongNumberLiteral" && n.type !== "FloatLiteral") {
throw newRuntimeError("const: unsupported value of type: " + n.type);
if (_n.type !== "NumberLiteral" && _n.type !== "LongNumberLiteral" && _n.type !== "FloatLiteral") {
throw newRuntimeError("const: unsupported value of type: " + _n.type);
}
pushResult(castIntoStackLocalOfType(instruction.object, n.value));
pushResult(castIntoStackLocalOfType(instruction.object, _n.value));
break;

@@ -369,9 +370,8 @@ }

(function () {
if (!(_typeof(loop.instr) === "object" && typeof loop.instr.length !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
})(); // 2. Enter the block instr∗ with label
if (!(_typeof(loop.instr) === "object" && typeof loop.instr.length !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
undefined;
// 2. Enter the block instr∗ with label
frame.labels.push({

@@ -397,9 +397,10 @@ value: loop,

// 1. Assert: due to validation, a value is on the top of the stack.
(function () {
if (frame.values.length < 1) {
throw new _errors.RuntimeError("Assertion error: expected " + 1 + " on the stack, found " + frame.values.length);
}
})(); // 2. Pop the value valval from the stack.
var s = 1;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
// 2. Pop the value valval from the stack.
pop1();

@@ -424,9 +425,8 @@ break;

(function () {
if (!(typeof frame.originatingModule !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
})(); // 2. Assert: due to validation, F.module.funcaddrs[x] exists.
if (!(typeof frame.originatingModule !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
undefined;
// 2. Assert: due to validation, F.module.funcaddrs[x] exists.
var funcaddr = frame.originatingModule.funcaddrs[index];

@@ -493,8 +493,8 @@

(function () {
if (!(_typeof(block.instr) === "object" && typeof block.instr.length !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
})();
if (!(_typeof(block.instr) === "object" && typeof block.instr.length !== "undefined")) {
throw new _errors.RuntimeError("Assertion error: " + (undefined || "unknown"));
}
undefined;
if (block.instr.length > 0) {

@@ -553,9 +553,10 @@ var oldStackSize = frame.values.length;

(function () {
if (frame.values.length < l + 1) {
throw new _errors.RuntimeError("Assertion error: expected " + (l + 1) + " on the stack, found " + frame.values.length);
}
})(); // 2. Let L be the l-th label appearing on the stack, starting from the top and counting from zero.
var s = l + 1;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
// 2. Let L be the l-th label appearing on the stack, starting from the top and counting from zero.
var seenLabels = 0;

@@ -589,9 +590,10 @@ var labelidx = {

(function () {
if (frame.values.length < n) {
throw new _errors.RuntimeError("Assertion error: expected " + n + " on the stack, found " + frame.values.length);
}
})(); // 5. Pop the values valn from the stack
var s = n;
if (frame.values.length < s) {
throw new _errors.RuntimeError("Assertion error: expected " + s + " on the stack, found " + frame.values.length);
}
undefined;
// 5. Pop the values valn from the stack
var val = frame.values[n];

@@ -598,0 +600,0 @@ var bottomOfTheStack = frame.values.slice(0, n);

@@ -10,2 +10,4 @@ "use strict";

var _nodes = require("@webassemblyjs/ast/lib/nodes");
var WebAssemblyMemory = _interopRequireWildcard(require("./memory"));

@@ -369,3 +371,3 @@

function createModuleExport(node, instantiatedItemArray, validate) {
if (node.descr.id.type === "Identifier") {
if ((0, _nodes.isIdentifier)(node.descr.id) === true) {
var instantiatedItem = instantiatedItemArray[node.descr.id.value];

@@ -381,2 +383,15 @@ validate(instantiatedItem);

});
} else if ((0, _nodes.isNumberLiteral)(node.descr.id) === true) {
var keys = Object.keys(instantiatedItemArray); // $FlowIgnore
var _instantiatedItem = instantiatedItemArray[keys[node.descr.id.value]];
validate(_instantiatedItem);
assertNotAlreadyExported(node.name);
moduleInstance.exports.push({
name: node.name,
value: {
type: node.descr.exportType,
addr: _instantiatedItem.addr
}
});
} else {

@@ -383,0 +398,0 @@ throw new CompileError("Module exports must be referenced via an Identifier");

{
"name": "webassemblyjs",
"version": "1.4.3",
"version": "1.5.0",
"keywords": [

@@ -21,10 +21,11 @@ "webassembly",

"dependencies": {
"@webassemblyjs/ast": "1.4.3",
"@webassemblyjs/validation": "1.4.3",
"@webassemblyjs/wasm-parser": "1.4.3",
"@webassemblyjs/wast-parser": "1.4.3",
"@webassemblyjs/ast": "1.5.0",
"@webassemblyjs/validation": "1.5.0",
"@webassemblyjs/wasm-parser": "1.5.0",
"@webassemblyjs/wast-parser": "1.5.0",
"long": "^3.2.0"
},
"devDependencies": {
"@webassemblyjs/floating-point-hex-parser": "1.4.3"
"@webassemblyjs/floating-point-hex-parser": "1.5.0",
"wabt": "^1.0.0"
},

@@ -31,0 +32,0 @@ "repository": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc