From 12a772a5d6e00fcfffddb0ec1e332f8a3caada07 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 25 Jul 2021 08:47:50 +0300 Subject: [PATCH 1/3] fix runPass in module --- src/module.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/module.ts b/src/module.ts index c19ed459f4..08422f7dcd 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2193,11 +2193,13 @@ export class Module { runPass(pass: string, func: FunctionRef = 0): void { var cStr = allocString(pass); + var cArr = allocPtrArray([cStr]); if (func) { - binaryen._BinaryenFunctionRunPasses(func, this.ref, cStr, 1); + binaryen._BinaryenFunctionRunPasses(func, this.ref, cArr, 1); } else { - binaryen._BinaryenModuleRunPasses(this.ref, cStr, 1); + binaryen._BinaryenModuleRunPasses(this.ref, cArr, 1); } + binaryen._free(cArr); binaryen._free(cStr); } From 8f1595d51df5dafda1e25fd3d2d4e7c5f095a95b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 25 Jul 2021 09:18:34 +0300 Subject: [PATCH 2/3] remove runPass --- cli/asc.js | 14 +++++++++++--- src/module.ts | 12 ------------ 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index 9b30cac365..e30255750c 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -529,7 +529,7 @@ exports.main = function main(argv, options, callback) { transforms = transforms.map(classOrModule => { // Except if it’s a legacy module, just pass it through. if (typeof classOrModule !== "function") { - return classOrModule; + return classOrModule; } Object.assign(classOrModule.prototype, { program, @@ -881,12 +881,20 @@ exports.main = function main(argv, options, callback) { if (opts.trapMode === "clamp") { stats.optimizeCount++; stats.optimizeTime += measure(() => { - module.runPass("trap-mode-clamp"); + try { + module.runPasses(["trap-mode-clamp"]); + } catch (e) { + crash("runPass", e); + } }); } else if (opts.trapMode === "js") { stats.optimizeCount++; stats.optimizeTime += measure(() => { - module.runPass("trap-mode-js"); + try { + module.runPasses(["trap-mode-js"]); + } catch (e) { + crash("runPass", e); + } }); } else if (opts.trapMode !== "allow") { module.dispose(); diff --git a/src/module.ts b/src/module.ts index 08422f7dcd..1b3283b866 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2191,18 +2191,6 @@ export class Module { binaryen._BinaryenModuleSetFeatures(this.ref, featureFlags); } - runPass(pass: string, func: FunctionRef = 0): void { - var cStr = allocString(pass); - var cArr = allocPtrArray([cStr]); - if (func) { - binaryen._BinaryenFunctionRunPasses(func, this.ref, cArr, 1); - } else { - binaryen._BinaryenModuleRunPasses(this.ref, cArr, 1); - } - binaryen._free(cArr); - binaryen._free(cStr); - } - runPasses(passes: string[], func: FunctionRef = 0): void { var numNames = passes.length; var cStrs = new Array(numNames); From e4bf8b0b26af629a5ee0762a15f31674b8c5a7d7 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 25 Jul 2021 11:08:52 +0300 Subject: [PATCH 3/3] typo --- cli/asc.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/asc.js b/cli/asc.js index e30255750c..f9bd9ff99a 100644 --- a/cli/asc.js +++ b/cli/asc.js @@ -884,7 +884,7 @@ exports.main = function main(argv, options, callback) { try { module.runPasses(["trap-mode-clamp"]); } catch (e) { - crash("runPass", e); + crash("runPasses", e); } }); } else if (opts.trapMode === "js") { @@ -893,7 +893,7 @@ exports.main = function main(argv, options, callback) { try { module.runPasses(["trap-mode-js"]); } catch (e) { - crash("runPass", e); + crash("runPasses", e); } }); } else if (opts.trapMode !== "allow") {