@webassemblyjs/wasm-edit
Advanced tools
Comparing version 1.2.7 to 1.2.8
@@ -75,3 +75,4 @@ "use strict"; | ||
var newValue = node.metadata.bodySize + bodySizeDeltaBytes; | ||
var newByteArray = (0, _encoder.encodeU32)(newValue); // function body size byte | ||
var newByteArray = (0, _encoder.encodeU32)(newValue); | ||
debug("resize func body newValue=%d", newValue); // function body size byte | ||
// FIXME(sven): only handles one byte u32 | ||
@@ -133,3 +134,5 @@ | ||
var _deltaBytes = -sectionMetadata.size; | ||
var _deltaBytes = -(sectionMetadata.size.value + 1) | ||
/* section id */ | ||
; | ||
@@ -177,7 +180,8 @@ return { | ||
var newByteArray = (0, _wasmGen.encodeNode)(node); // start at the end of the section | ||
var newByteArray = (0, _wasmGen.encodeNode)(node); // The size of the section doesn't include the storage of the size itself | ||
// we need to manually add it here | ||
// FIXME(sven): preprocess it into the AST? | ||
var start = sectionMetadata.startOffset + sectionMetadata.size + 1; | ||
var start = sectionMetadata.startOffset + sectionMetadata.size.value + (sectionMetadata.size.loc.end.column - sectionMetadata.size.loc.start.column); | ||
var end = start; | ||
debug("add node=%s section=%s after=%d", node.type, sectionName, start); | ||
uint8Buffer = (0, _helperBuffer.overrideBytesInBuffer)(uint8Buffer, start, end, newByteArray); | ||
@@ -189,2 +193,3 @@ /** | ||
var deltaBytes = newByteArray.length; | ||
debug("add node=%s section=%s after=%d deltaBytes=%s deltaElements=%s", node.type, sectionName, start, deltaBytes, deltaElements); | ||
return { | ||
@@ -228,2 +233,3 @@ uint8Buffer: uint8Buffer, | ||
ops.forEach(function (op) { | ||
// We don't need to handle add ops, they are positioning independent | ||
switch (op.kind) { | ||
@@ -230,0 +236,0 @@ case "update": |
@@ -15,2 +15,4 @@ "use strict"; | ||
var _wasmOpt = require("@webassemblyjs/wasm-opt"); | ||
var _apply = require("./apply"); | ||
@@ -28,4 +30,10 @@ | ||
function preprocess(ab) { | ||
var optBin = (0, _wasmOpt.shrinkPaddedLEB128)(new Uint8Array(ab)); | ||
return optBin.buffer; | ||
} | ||
function edit(ab, visitors) { | ||
var operations = []; | ||
ab = preprocess(ab); | ||
var ast = (0, _wasmParser.decode)(ab, decoderOpts); | ||
@@ -60,4 +68,6 @@ var uint8Buffer = new Uint8Array(ab); | ||
function add(ab, newNodes) { | ||
ab = preprocess(ab); | ||
var ast = (0, _wasmParser.decode)(ab, decoderOpts); | ||
var uint8Buffer = new Uint8Array(ab); | ||
var uint8Buffer = new Uint8Array(ab); // Map node into operations | ||
var operations = newNodes.map(function (n) { | ||
@@ -64,0 +74,0 @@ return { |
{ | ||
"name": "@webassemblyjs/wasm-edit", | ||
"version": "1.2.7", | ||
"version": "1.2.8", | ||
"description": "", | ||
@@ -19,11 +19,15 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"@webassemblyjs/ast": "1.2.7", | ||
"@webassemblyjs/helper-buffer": "1.2.7", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.2.7", | ||
"@webassemblyjs/helper-wasm-section": "1.2.7", | ||
"@webassemblyjs/wasm-gen": "1.2.7", | ||
"@webassemblyjs/wasm-parser": "1.2.7", | ||
"@webassemblyjs/wast-printer": "1.2.7", | ||
"@webassemblyjs/ast": "1.2.8", | ||
"@webassemblyjs/helper-buffer": "1.2.8", | ||
"@webassemblyjs/helper-wasm-bytecode": "1.2.8", | ||
"@webassemblyjs/helper-wasm-section": "1.2.8", | ||
"@webassemblyjs/wasm-gen": "1.2.8", | ||
"@webassemblyjs/wasm-opt": "1.2.8", | ||
"@webassemblyjs/wasm-parser": "1.2.8", | ||
"@webassemblyjs/wast-printer": "1.2.8", | ||
"debug": "^3.1.0" | ||
}, | ||
"devDependencies": { | ||
"@webassemblyjs/helper-test-framework": "1.2.8" | ||
} | ||
} |
@@ -89,2 +89,4 @@ // @flow | ||
debug("resize func body newValue=%d", newValue); | ||
// function body size byte | ||
@@ -148,3 +150,3 @@ // FIXME(sven): only handles one byte u32 | ||
const deltaBytes = -sectionMetadata.size; | ||
const deltaBytes = -(sectionMetadata.size.value + 1) /* section id */; | ||
@@ -196,9 +198,13 @@ return { uint8Buffer, deltaBytes, deltaElements }; | ||
// start at the end of the section | ||
const start = sectionMetadata.startOffset + sectionMetadata.size + 1; | ||
// The size of the section doesn't include the storage of the size itself | ||
// we need to manually add it here | ||
// FIXME(sven): preprocess it into the AST? | ||
const start = | ||
sectionMetadata.startOffset + | ||
sectionMetadata.size.value + | ||
(sectionMetadata.size.loc.end.column - | ||
sectionMetadata.size.loc.start.column); | ||
const end = start; | ||
debug("add node=%s section=%s after=%d", node.type, sectionName, start); | ||
uint8Buffer = overrideBytesInBuffer(uint8Buffer, start, end, newByteArray); | ||
@@ -211,2 +217,11 @@ | ||
debug( | ||
"add node=%s section=%s after=%d deltaBytes=%s deltaElements=%s", | ||
node.type, | ||
sectionName, | ||
start, | ||
deltaBytes, | ||
deltaElements | ||
); | ||
return { uint8Buffer, deltaBytes, deltaElements }; | ||
@@ -249,2 +264,3 @@ } | ||
ops.forEach(op => { | ||
// We don't need to handle add ops, they are positioning independent | ||
switch (op.kind) { | ||
@@ -251,0 +267,0 @@ case "update": |
@@ -6,2 +6,4 @@ // @flow | ||
import { cloneNode } from "@webassemblyjs/ast/lib/clone"; | ||
import { shrinkPaddedLEB128 } from "@webassemblyjs/wasm-opt"; | ||
import { applyOperations } from "./apply"; | ||
@@ -19,5 +21,12 @@ | ||
function preprocess(ab: ArrayBuffer): ArrayBuffer { | ||
const optBin = shrinkPaddedLEB128(new Uint8Array(ab)); | ||
return optBin.buffer; | ||
} | ||
export function edit(ab: ArrayBuffer, visitors: Object): ArrayBuffer { | ||
const operations: Array<Operation> = []; | ||
ab = preprocess(ab); | ||
const ast = decode(ab, decoderOpts); | ||
@@ -57,2 +66,4 @@ | ||
export function add(ab: ArrayBuffer, newNodes: Array<Node>): ArrayBuffer { | ||
ab = preprocess(ab); | ||
const ast = decode(ab, decoderOpts); | ||
@@ -62,2 +73,3 @@ | ||
// Map node into operations | ||
const operations = newNodes.map(n => ({ | ||
@@ -64,0 +76,0 @@ kind: "add", |
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
21650
559
9
1
0
+ Added@webassemblyjs/ast@1.2.8(transitive)
+ Added@webassemblyjs/floating-point-hex-parser@1.2.8(transitive)
+ Added@webassemblyjs/helper-buffer@1.2.8(transitive)
+ Added@webassemblyjs/helper-code-frame@1.2.8(transitive)
+ Added@webassemblyjs/helper-fsm@1.2.8(transitive)
+ Added@webassemblyjs/helper-wasm-bytecode@1.2.8(transitive)
+ Added@webassemblyjs/helper-wasm-section@1.2.8(transitive)
+ Added@webassemblyjs/leb128@1.2.8(transitive)
+ Added@webassemblyjs/validation@1.2.8(transitive)
+ Added@webassemblyjs/wasm-gen@1.2.8(transitive)
+ Added@webassemblyjs/wasm-opt@1.2.8(transitive)
+ Added@webassemblyjs/wasm-parser@1.2.8(transitive)
+ Added@webassemblyjs/wast-parser@1.2.8(transitive)
+ Added@webassemblyjs/wast-printer@1.2.8(transitive)
+ Addedwebassemblyjs@1.2.8(transitive)
- Removed@webassemblyjs/ast@1.2.7(transitive)
- Removed@webassemblyjs/floating-point-hex-parser@1.2.7(transitive)
- Removed@webassemblyjs/helper-buffer@1.2.7(transitive)
- Removed@webassemblyjs/helper-code-frame@1.2.7(transitive)
- Removed@webassemblyjs/helper-fsm@1.2.7(transitive)
- Removed@webassemblyjs/helper-wasm-bytecode@1.2.7(transitive)
- Removed@webassemblyjs/helper-wasm-section@1.2.7(transitive)
- Removed@webassemblyjs/leb128@1.2.7(transitive)
- Removed@webassemblyjs/validation@1.2.7(transitive)
- Removed@webassemblyjs/wasm-gen@1.2.7(transitive)
- Removed@webassemblyjs/wasm-parser@1.2.7(transitive)
- Removed@webassemblyjs/wast-parser@1.2.7(transitive)
- Removed@webassemblyjs/wast-printer@1.2.7(transitive)
- Removedwebassemblyjs@1.2.7(transitive)
Updated@webassemblyjs/ast@1.2.8