@webassemblyjs/wasm-parser
Advanced tools
Comparing version 1.5.8 to 1.5.9
@@ -10,4 +10,8 @@ "use strict"; | ||
var ieee754 = _interopRequireWildcard(require("@webassemblyjs/ieee754")); | ||
var _leb = require("@webassemblyjs/leb128"); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } | ||
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); } } | ||
@@ -31,4 +35,2 @@ | ||
var ieee754 = require("./ieee754"); | ||
var _require2 = require("./utf8"), | ||
@@ -156,10 +158,32 @@ utf8ArrayToStr = _require2.utf8ArrayToStr; | ||
return arr; | ||
} // FIXME(sven): use ieee754 package | ||
} | ||
function readF64() { | ||
var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F64); | ||
var buffer = Buffer.from(bytes); // FIXME(sven): should be DOUBLE_PRECISION_MANTISSA? | ||
var value = ieee754.decodeF64(bytes); | ||
var value = ieee754.decode(buffer, 0, true, ieee754.SINGLE_PRECISION_MANTISSA, ieee754.NUMBER_OF_BYTE_F64); | ||
if (Math.sign(value) * value === Infinity) { | ||
return { | ||
value: Math.sign(value), | ||
inf: true, | ||
nextIndex: ieee754.NUMBER_OF_BYTE_F64 | ||
}; | ||
} | ||
if (isNaN(value)) { | ||
var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1; | ||
var mantissa = 0; | ||
for (var i = 0; i < bytes.length - 2; ++i) { | ||
mantissa += bytes[i] * Math.pow(256, i); | ||
} | ||
mantissa += bytes[bytes.length - 2] % 16 * Math.pow(256, bytes.length - 2); | ||
return { | ||
value: sign * mantissa, | ||
nan: true, | ||
nextIndex: ieee754.NUMBER_OF_BYTE_F64 | ||
}; | ||
} | ||
return { | ||
@@ -173,4 +197,28 @@ value: value, | ||
var bytes = readBytes(ieee754.NUMBER_OF_BYTE_F32); | ||
var buffer = Buffer.from(bytes); | ||
var value = ieee754.decode(buffer, 0, true, ieee754.SINGLE_PRECISION_MANTISSA, ieee754.NUMBER_OF_BYTE_F32); | ||
var value = ieee754.decodeF32(bytes); | ||
if (Math.sign(value) * value === Infinity) { | ||
return { | ||
value: Math.sign(value), | ||
inf: true, | ||
nextIndex: ieee754.NUMBER_OF_BYTE_F32 | ||
}; | ||
} | ||
if (isNaN(value)) { | ||
var sign = bytes[bytes.length - 1] >> 7 ? -1 : 1; | ||
var mantissa = 0; | ||
for (var i = 0; i < bytes.length - 2; ++i) { | ||
mantissa += bytes[i] * Math.pow(256, i); | ||
} | ||
mantissa += bytes[bytes.length - 2] % 128 * Math.pow(256, bytes.length - 2); | ||
return { | ||
value: sign * mantissa, | ||
nan: true, | ||
nextIndex: ieee754.NUMBER_OF_BYTE_F32 | ||
}; | ||
} | ||
return { | ||
@@ -750,3 +798,3 @@ value: value, | ||
eatBytes(value32.nextIndex); | ||
dump([value], "value"); | ||
dump([value], "i32 value"); | ||
args.push(t.numberLiteralFromRaw(value)); | ||
@@ -759,3 +807,3 @@ } | ||
eatBytes(valueu32.nextIndex); | ||
dump([_value], "value"); | ||
dump([_value], "u32 value"); | ||
args.push(t.numberLiteralFromRaw(_value)); | ||
@@ -768,3 +816,3 @@ } | ||
eatBytes(value64.nextIndex); | ||
dump([_value2], "value"); | ||
dump([_value2], "i64 value"); | ||
var node = { | ||
@@ -781,3 +829,3 @@ type: "LongNumberLiteral", | ||
eatBytes(valueu64.nextIndex); | ||
dump([_value3], "value"); | ||
dump([_value3], "u64 value"); | ||
args.push(t.numberLiteralFromRaw(_value3)); | ||
@@ -790,4 +838,5 @@ } | ||
eatBytes(valuef32.nextIndex); | ||
dump([_value4], "value"); | ||
args.push(t.numberLiteralFromRaw(_value4)); | ||
dump([_value4], "f32 value"); | ||
args.push( // $FlowIgnore | ||
t.floatLiteral(_value4, valuef32.nan, valuef32.inf, String(_value4))); | ||
} | ||
@@ -799,4 +848,5 @@ | ||
eatBytes(valuef64.nextIndex); | ||
dump([_value5], "value"); | ||
args.push(t.numberLiteralFromRaw(_value5)); | ||
dump([_value5], "f64 value"); | ||
args.push( // $FlowIgnore | ||
t.floatLiteral(_value5, valuef64.nan, valuef64.inf, String(_value5))); | ||
} | ||
@@ -968,2 +1018,3 @@ } else { | ||
for (var i = 0; i < numberOfGlobals; i++) { | ||
var startLoc = getPosition(); | ||
var globalType = parseGlobalType(); | ||
@@ -976,3 +1027,4 @@ /** | ||
parseInstructionBlock(init); | ||
var node = t.global(globalType, init); | ||
var endLoc = getPosition(); | ||
var node = t.withLoc(t.global(globalType, init), endLoc, startLoc); | ||
globals.push(node); | ||
@@ -1464,3 +1516,3 @@ state.globalsInModule.push(node); | ||
throw new _helperApiError.CompileError("Unexpected section: " + toHex(sectionId)); | ||
throw new _helperApiError.CompileError("invalid section id (" + toHex(sectionId) + ")"); | ||
} | ||
@@ -1467,0 +1519,0 @@ |
{ | ||
"name": "@webassemblyjs/wasm-parser", | ||
"version": "1.5.8", | ||
"version": "1.5.9", | ||
"keywords": [ | ||
@@ -19,7 +19,8 @@ "webassembly", | ||
"dependencies": { | ||
"@webassemblyjs/ast": "1.5.8", | ||
"@webassemblyjs/helper-api-error": "1.5.8", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.5.8", | ||
"@webassemblyjs/leb128": "1.5.8", | ||
"@webassemblyjs/wasm-parser": "1.5.8" | ||
"@webassemblyjs/ast": "1.5.9", | ||
"@webassemblyjs/helper-api-error": "1.5.9", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.5.9", | ||
"@webassemblyjs/ieee754": "1.5.9", | ||
"@webassemblyjs/leb128": "1.5.9", | ||
"@webassemblyjs/wasm-parser": "1.5.9" | ||
}, | ||
@@ -35,8 +36,8 @@ "repository": { | ||
"@webassemblyjs/helper-buffer": "1.5.4", | ||
"@webassemblyjs/helper-test-framework": "1.5.8", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.5.8", | ||
"@webassemblyjs/helper-test-framework": "1.5.9", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.5.9", | ||
"@webassemblyjs/wasm-gen": "1.5.4", | ||
"@webassemblyjs/wast-parser": "1.5.8", | ||
"@webassemblyjs/wast-parser": "1.5.9", | ||
"wabt": "^1.0.0" | ||
} | ||
} |
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
57288
6
6
1526
+ Added@webassemblyjs/ieee754@1.5.9
+ Added@webassemblyjs/ast@1.5.9(transitive)
+ Added@webassemblyjs/floating-point-hex-parser@1.5.9(transitive)
+ Added@webassemblyjs/helper-api-error@1.5.9(transitive)
+ Added@webassemblyjs/helper-code-frame@1.5.9(transitive)
+ Added@webassemblyjs/helper-fsm@1.5.9(transitive)
+ Added@webassemblyjs/helper-module-context@1.5.9(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.5.9(transitive)
+ Added@webassemblyjs/ieee754@1.5.9(transitive)
+ Added@webassemblyjs/leb128@1.5.9(transitive)
+ Added@webassemblyjs/wast-parser@1.5.9(transitive)
+ Added@webassemblyjs/wast-printer@1.5.9(transitive)
+ Addedieee754@1.2.1(transitive)
- Removed@webassemblyjs/ast@1.5.8(transitive)
- Removed@webassemblyjs/floating-point-hex-parser@1.5.8(transitive)
- Removed@webassemblyjs/helper-api-error@1.5.8(transitive)
- Removed@webassemblyjs/helper-code-frame@1.5.8(transitive)
- Removed@webassemblyjs/helper-fsm@1.5.8(transitive)
- Removed@webassemblyjs/helper-module-context@1.5.8(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.5.8(transitive)
- Removed@webassemblyjs/leb128@1.5.8(transitive)
- Removed@webassemblyjs/wast-parser@1.5.8(transitive)
- Removed@webassemblyjs/wast-printer@1.5.8(transitive)
Updated@webassemblyjs/ast@1.5.9
Updated@webassemblyjs/leb128@1.5.9