Skip to content

Commit 9cc4ebb

Browse files
committed
fix: generation and bump dep
1 parent edddefb commit 9cc4ebb

File tree

3 files changed

+120
-92
lines changed

3 files changed

+120
-92
lines changed

lib/wasm/WebAssemblyGenerator.js

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,22 +79,35 @@ function getImportedGlobals(ast) {
7979
}
8080

8181
/**
82-
* Get next func index
83-
*
84-
* Funcs are referenced by their index in the type section, we just return the
85-
* next index.
82+
* Get next type index
8683
*
8784
* @param {Object} ast - Module's AST
8885
* @returns {t.IndexLiteral} - index
8986
*/
90-
function getNextFuncIndex(ast) {
87+
function getNextTypeIndex(ast) {
9188
const typeSectionMetadata = t.getSectionMetadata(ast, "type");
9289

9390
if (typeof typeSectionMetadata === "undefined") {
9491
return t.indexLiteral(0);
9592
}
9693

97-
return t.indexLiteral(typeSectionMetadata.vectorOfSize);
94+
return t.indexLiteral(typeSectionMetadata.vectorOfSize.value);
95+
}
96+
97+
/**
98+
* Get next func index
99+
*
100+
* @param {Object} ast - Module's AST
101+
* @returns {t.IndexLiteral} - index
102+
*/
103+
function getNextFuncIndex(ast) {
104+
const funcSectionMetadata = t.getSectionMetadata(ast, "func");
105+
106+
if (typeof funcSectionMetadata === "undefined") {
107+
return t.indexLiteral(0);
108+
}
109+
110+
return t.indexLiteral(funcSectionMetadata.vectorOfSize.value);
98111
}
99112

100113
/**
@@ -145,13 +158,15 @@ const rewriteImportedGlobals = state => bin => {
145158
* @param {t.ModuleImport[]} state.importedGlobals list of imported globals
146159
* @param {*} state.funcSectionMetadata ??
147160
* @param {t.IndexLiteral} state.nextFuncIndex index of the next function
161+
* @param {t.IndexLiteral} state.nextTypeIndex index of the next type
148162
* @returns {ArrayBufferTransform} transform
149163
*/
150164
const addInitFunction = ({
151165
startAtFuncIndex,
152166
importedGlobals,
153167
funcSectionMetadata,
154-
nextFuncIndex
168+
nextFuncIndex,
169+
nextTypeIndex
155170
}) => bin => {
156171
const funcParams = importedGlobals.map(importedGlobal => {
157172
// used for debugging
@@ -182,7 +197,7 @@ const addInitFunction = ({
182197
func.signature.params,
183198
func.signature.result
184199
);
185-
const funcindex = t.indexInFuncSection(nextFuncIndex);
200+
const funcindex = t.indexInFuncSection(nextTypeIndex);
186201

187202
const moduleExport = t.moduleExport(initFuncId.value, "Func", nextFuncIndex);
188203

@@ -201,6 +216,7 @@ class WebAssemblyGenerator extends Generator {
201216
const funcSectionMetadata = t.getSectionMetadata(ast, "func");
202217
const startAtFuncIndex = getStartFuncIndex(ast);
203218
const nextFuncIndex = getNextFuncIndex(ast);
219+
const nextTypeIndex = getNextTypeIndex(ast);
204220

205221
const transform = compose(
206222
removeStartFunc({}),
@@ -211,7 +227,8 @@ class WebAssemblyGenerator extends Generator {
211227
importedGlobals,
212228
funcSectionMetadata,
213229
startAtFuncIndex,
214-
nextFuncIndex
230+
nextFuncIndex,
231+
nextTypeIndex
215232
})
216233
);
217234

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
66
"license": "MIT",
77
"dependencies": {
8-
"@webassemblyjs/ast": "1.2.7",
9-
"@webassemblyjs/wasm-edit": "1.2.7",
10-
"@webassemblyjs/wasm-parser": "1.2.7",
8+
"@webassemblyjs/ast": "1.3.0",
9+
"@webassemblyjs/wasm-edit": "1.3.0",
10+
"@webassemblyjs/wasm-parser": "1.3.0",
1111
"acorn": "^5.0.0",
1212
"acorn-dynamic-import": "^3.0.0",
1313
"ajv": "^6.1.0",

yarn.lock

Lines changed: 91 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -18,104 +18,115 @@
1818
version "1.0.2"
1919
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.2.tgz#e13182e1b69871a422d7863e11a4a6f5b814a4bd"
2020

21-
"@webassemblyjs/ast@1.2.7":
22-
version "1.2.7"
23-
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.2.7.tgz#2643dcda911e9dcb18a1ca40ac8f0a23dd1eb176"
21+
"@webassemblyjs/ast@1.3.0":
22+
version "1.3.0"
23+
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.3.0.tgz#524246cd578c30ff792d0c7b49bb0a0f89191dd2"
2424
dependencies:
25-
"@webassemblyjs/wast-parser" "1.2.7"
26-
webassemblyjs "1.2.7"
25+
"@webassemblyjs/helper-wasm-bytecode" "1.3.0"
26+
"@webassemblyjs/wast-parser" "1.3.0"
27+
webassemblyjs "1.3.0"
2728

28-
"@webassemblyjs/floating-point-hex-parser@1.2.7":
29-
version "1.2.7"
30-
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.2.7.tgz#a6dd3fbcd016a3af4f358b7ed01eed1901b8aada"
29+
"@webassemblyjs/floating-point-hex-parser@1.3.0":
30+
version "1.3.0"
31+
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.3.0.tgz#a32574e1327a946c78711179fda8bcc808285913"
3132

32-
"@webassemblyjs/helper-buffer@1.2.7":
33-
version "1.2.7"
34-
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.2.7.tgz#ea049ceda8d052c3d9a67339ab58c6d374ae7231"
33+
"@webassemblyjs/helper-buffer@1.3.0":
34+
version "1.3.0"
35+
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.3.0.tgz#790599218673099863b6f5f84d36cc8caab861b2"
3536

36-
"@webassemblyjs/helper-code-frame@1.2.7":
37-
version "1.2.7"
38-
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.2.7.tgz#7af6870fdd2038adaac31ee11c9b166cd2c4e957"
37+
"@webassemblyjs/helper-code-frame@1.3.0":
38+
version "1.3.0"
39+
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.3.0.tgz#8f7d4cd9a2aed3c633cdd79aa660e96279a349bf"
3940
dependencies:
40-
"@webassemblyjs/wast-printer" "1.2.7"
41+
"@webassemblyjs/wast-printer" "1.3.0"
4142

42-
"@webassemblyjs/helper-fsm@1.2.7":
43-
version "1.2.7"
44-
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.2.7.tgz#c5c346a19195f854fcf698bba3d4608c9505985b"
43+
"@webassemblyjs/helper-fsm@1.3.0":
44+
version "1.3.0"
45+
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.3.0.tgz#515141ec51c47b892def606dfc706e7708d4398a"
4546

46-
"@webassemblyjs/helper-wasm-bytecode@1.2.7":
47-
version "1.2.7"
48-
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.2.7.tgz#7e0020e9112ffe3b76a83bb8071b65e540e9f895"
47+
"@webassemblyjs/helper-wasm-bytecode@1.3.0":
48+
version "1.3.0"
49+
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.3.0.tgz#d23d55fcef04e4f24d6728e31bda8f1257293f91"
4950

50-
"@webassemblyjs/helper-wasm-section@1.2.7":
51-
version "1.2.7"
52-
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.2.7.tgz#98ae0312f285fe4ae6ab2c3daac3121cf078a568"
51+
"@webassemblyjs/helper-wasm-section@1.3.0":
52+
version "1.3.0"
53+
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.3.0.tgz#a8c9435faca44734fc67dfaee4911ac8e6627bd7"
5354
dependencies:
54-
"@webassemblyjs/ast" "1.2.7"
55-
"@webassemblyjs/helper-buffer" "1.2.7"
56-
"@webassemblyjs/helper-wasm-bytecode" "1.2.7"
57-
"@webassemblyjs/wasm-gen" "1.2.7"
55+
"@webassemblyjs/ast" "1.3.0"
56+
"@webassemblyjs/helper-buffer" "1.3.0"
57+
"@webassemblyjs/helper-wasm-bytecode" "1.3.0"
58+
"@webassemblyjs/wasm-gen" "1.3.0"
5859

59-
"@webassemblyjs/leb128@1.2.7":
60-
version "1.2.7"
61-
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.2.7.tgz#53c0c0f261ab27c52f585296d561b0e4078853ad"
60+
"@webassemblyjs/leb128@1.3.0":
61+
version "1.3.0"
62+
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.3.0.tgz#b9995160f0f94d785579a149716bb2cb0d102f08"
6263
dependencies:
6364
leb "^0.3.0"
6465

65-
"@webassemblyjs/validation@1.2.7":
66-
version "1.2.7"
67-
resolved "https://registry.yarnpkg.com/@webassemblyjs/validation/-/validation-1.2.7.tgz#4ae3b08cb2a802598c44cf824c06c030d3c30c82"
66+
"@webassemblyjs/validation@1.3.0":
67+
version "1.3.0"
68+
resolved "https://registry.yarnpkg.com/@webassemblyjs/validation/-/validation-1.3.0.tgz#0a1261f414607a04e2ffebb1b3ea9777b35c97af"
6869
dependencies:
69-
"@webassemblyjs/ast" "1.2.7"
70+
"@webassemblyjs/ast" "1.3.0"
7071

71-
"@webassemblyjs/wasm-edit@1.2.7":
72-
version "1.2.7"
73-
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.2.7.tgz#5a253b0451dd49ee4159b9bae78ce47d23610d9c"
74-
dependencies:
75-
"@webassemblyjs/ast" "1.2.7"
76-
"@webassemblyjs/helper-buffer" "1.2.7"
77-
"@webassemblyjs/helper-wasm-bytecode" "1.2.7"
78-
"@webassemblyjs/helper-wasm-section" "1.2.7"
79-
"@webassemblyjs/wasm-gen" "1.2.7"
80-
"@webassemblyjs/wasm-parser" "1.2.7"
81-
"@webassemblyjs/wast-printer" "1.2.7"
72+
"@webassemblyjs/wasm-edit@1.3.0":
73+
version "1.3.0"
74+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.3.0.tgz#48551c391aebb07e82634cd4ecf257456208a0d3"
75+
dependencies:
76+
"@webassemblyjs/ast" "1.3.0"
77+
"@webassemblyjs/helper-buffer" "1.3.0"
78+
"@webassemblyjs/helper-wasm-bytecode" "1.3.0"
79+
"@webassemblyjs/helper-wasm-section" "1.3.0"
80+
"@webassemblyjs/wasm-gen" "1.3.0"
81+
"@webassemblyjs/wasm-opt" "1.3.0"
82+
"@webassemblyjs/wasm-parser" "1.3.0"
83+
"@webassemblyjs/wast-printer" "1.3.0"
8284
debug "^3.1.0"
8385

84-
"@webassemblyjs/wasm-gen@1.2.7":
85-
version "1.2.7"
86-
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.2.7.tgz#c104608f22b079950e7822703159d43f2c18529f"
86+
"@webassemblyjs/wasm-gen@1.3.0":
87+
version "1.3.0"
88+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.3.0.tgz#acf45b38159f351178aa14135e5efa4172931e9a"
8789
dependencies:
88-
"@webassemblyjs/ast" "1.2.7"
89-
"@webassemblyjs/helper-wasm-bytecode" "1.2.7"
90-
"@webassemblyjs/leb128" "1.2.7"
90+
"@webassemblyjs/ast" "1.3.0"
91+
"@webassemblyjs/helper-wasm-bytecode" "1.3.0"
92+
"@webassemblyjs/leb128" "1.3.0"
9193

92-
"@webassemblyjs/wasm-parser@1.2.7":
93-
version "1.2.7"
94-
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.2.7.tgz#cbdf0b2882004e07be071719c99f30447b2a4294"
94+
"@webassemblyjs/wasm-opt@1.3.0":
95+
version "1.3.0"
96+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.3.0.tgz#958150b0d631eb407fc9b85b9a852526c849c015"
9597
dependencies:
96-
"@webassemblyjs/ast" "1.2.7"
97-
"@webassemblyjs/helper-wasm-bytecode" "1.2.7"
98-
"@webassemblyjs/leb128" "1.2.7"
99-
"@webassemblyjs/wasm-parser" "1.2.7"
100-
webassemblyjs "1.2.7"
98+
"@webassemblyjs/ast" "1.3.0"
99+
"@webassemblyjs/helper-buffer" "1.3.0"
100+
"@webassemblyjs/wasm-gen" "1.3.0"
101+
"@webassemblyjs/wasm-parser" "1.3.0"
101102

102-
"@webassemblyjs/wast-parser@1.2.7":
103-
version "1.2.7"
104-
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.2.7.tgz#e1989a4dc5b0c30acc85b63c9efdc0844034b399"
103+
"@webassemblyjs/wasm-parser@1.3.0":
104+
version "1.3.0"
105+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.3.0.tgz#66dd5ac632e0f938b1656bd46f01fe5f5f9488d0"
106+
dependencies:
107+
"@webassemblyjs/ast" "1.3.0"
108+
"@webassemblyjs/helper-wasm-bytecode" "1.3.0"
109+
"@webassemblyjs/leb128" "1.3.0"
110+
"@webassemblyjs/wasm-parser" "1.3.0"
111+
webassemblyjs "1.3.0"
112+
113+
"@webassemblyjs/wast-parser@1.3.0":
114+
version "1.3.0"
115+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.3.0.tgz#bfc692d8a159d5fde7c1fee0f4e6d848d5bbcb71"
105116
dependencies:
106-
"@webassemblyjs/ast" "1.2.7"
107-
"@webassemblyjs/floating-point-hex-parser" "1.2.7"
108-
"@webassemblyjs/helper-code-frame" "1.2.7"
109-
"@webassemblyjs/helper-fsm" "1.2.7"
117+
"@webassemblyjs/ast" "1.3.0"
118+
"@webassemblyjs/floating-point-hex-parser" "1.3.0"
119+
"@webassemblyjs/helper-code-frame" "1.3.0"
120+
"@webassemblyjs/helper-fsm" "1.3.0"
110121
long "^3.2.0"
111-
webassemblyjs "1.2.7"
122+
webassemblyjs "1.3.0"
112123

113-
"@webassemblyjs/wast-printer@1.2.7":
114-
version "1.2.7"
115-
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.2.7.tgz#22cc81b123a9c9f4f2166994c737c8f9cd47d1b8"
124+
"@webassemblyjs/wast-printer@1.3.0":
125+
version "1.3.0"
126+
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.3.0.tgz#b4ed84f0fea9f222d540e25b262cd5eabfee84d4"
116127
dependencies:
117-
"@webassemblyjs/ast" "1.2.7"
118-
"@webassemblyjs/wast-parser" "1.2.7"
128+
"@webassemblyjs/ast" "1.3.0"
129+
"@webassemblyjs/wast-parser" "1.3.0"
119130
long "^3.2.0"
120131

121132
abab@^1.0.4:
@@ -6143,14 +6154,14 @@ watchpack@^1.5.0:
61436154
graceful-fs "^4.1.2"
61446155
neo-async "^2.5.0"
61456156

6146-
webassemblyjs@1.2.7:
6147-
version "1.2.7"
6148-
resolved "https://registry.yarnpkg.com/webassemblyjs/-/webassemblyjs-1.2.7.tgz#cb151e1afa7659b42d1016c7700b42ec2c851ccb"
6157+
webassemblyjs@1.3.0:
6158+
version "1.3.0"
6159+
resolved "https://registry.yarnpkg.com/webassemblyjs/-/webassemblyjs-1.3.0.tgz#970ca465d5ee45ebe611c5c6f7d461900c3e10b2"
61496160
dependencies:
6150-
"@webassemblyjs/ast" "1.2.7"
6151-
"@webassemblyjs/validation" "1.2.7"
6152-
"@webassemblyjs/wasm-parser" "1.2.7"
6153-
"@webassemblyjs/wast-parser" "1.2.7"
6161+
"@webassemblyjs/ast" "1.3.0"
6162+
"@webassemblyjs/validation" "1.3.0"
6163+
"@webassemblyjs/wasm-parser" "1.3.0"
6164+
"@webassemblyjs/wast-parser" "1.3.0"
61546165
long "^3.2.0"
61556166

61566167
webidl-conversions@^4.0.1, webidl-conversions@^4.0.2:

0 commit comments

Comments
 (0)