Skip to content

Commit 5427eb9

Browse files
authored
Add heap2local to pass pipeline (#1867)
1 parent f67e61a commit 5427eb9

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/module.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,7 +1462,7 @@ export class Module {
14621462
value: ExpressionRef = 0
14631463
): ExpressionRef {
14641464
var numNames = names.length;
1465-
var strs = new Array<usize>(numNames);
1465+
var strs = new Array<CString>(numNames);
14661466
for (let i = 0; i < numNames; ++i) {
14671467
strs[i] = this.allocStringCached(names[i]);
14681468
}
@@ -1560,7 +1560,7 @@ export class Module {
15601560
// catchBodies: ExpressionRef[]
15611561
// ): ExpressionRef {
15621562
// var numCatchEvents = catchEvents.length;
1563-
// var strs = new Array<usize>(numCatchEvents);
1563+
// var strs = new Array<EventRef>(numCatchEvents);
15641564
// for (let i = 0; i < numCatchEvents; ++i) {
15651565
// strs[i] = this.allocStringCached(catchEvents[i]);
15661566
// }
@@ -2022,7 +2022,7 @@ export class Module {
20222022
): void {
20232023
var cStr = this.allocStringCached(name);
20242024
var numNames = funcs.length;
2025-
var names = new Array<usize>(numNames);
2025+
var names = new Array<CString>(numNames);
20262026
for (let i = 0; i < numNames; ++i) {
20272027
names[i] = this.allocStringCached(funcs[i]);
20282028
}
@@ -2045,7 +2045,7 @@ export class Module {
20452045
offset: ExpressionRef
20462046
): void {
20472047
var numNames = funcs.length;
2048-
var names = new Array<usize>(numNames);
2048+
var names = new Array<CString>(numNames);
20492049
for (let i = 0; i < numNames; ++i) {
20502050
names[i] = this.allocStringCached(funcs[i]);
20512051
}
@@ -2177,7 +2177,7 @@ export class Module {
21772177

21782178
runPasses(passes: string[], func: FunctionRef = 0): void {
21792179
var numNames = passes.length;
2180-
var cStrs = new Array<usize>(numNames);
2180+
var cStrs = new Array<CString>(numNames);
21812181
for (let i = 0; i < numNames; ++i) {
21822182
cStrs[i] = allocString(passes[i]);
21832183
}
@@ -2329,6 +2329,9 @@ export class Module {
23292329
if (optimizeLevel >= 3 || shrinkLevel >= 1) {
23302330
passes.push("code-folding");
23312331
}
2332+
if (optimizeLevel > 1 && (this.getFeatures() & FeatureFlags.GC) != 0) {
2333+
passes.push("heap2local");
2334+
}
23322335
// precompute works best after global optimizations
23332336
if (optimizeLevel >= 2 || shrinkLevel >= 1) {
23342337
passes.push("precompute-propagate");

0 commit comments

Comments
 (0)