summaryrefslogtreecommitdiff
path: root/src/asm2wasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/asm2wasm.h')
-rw-r--r--src/asm2wasm.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index f78b9df55..00481c9bd 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -380,6 +380,7 @@ public:
TrapMode trapMode;
PassOptions passOptions;
+ bool legalizeJavaScriptFFI;
bool runOptimizationPasses;
bool wasmOnly;
@@ -483,7 +484,7 @@ private:
}
public:
- Asm2WasmBuilder(Module& wasm, Asm2WasmPreProcessor& preprocessor, bool debug, TrapMode trapMode, PassOptions passOptions, bool runOptimizationPasses, bool wasmOnly)
+ Asm2WasmBuilder(Module& wasm, Asm2WasmPreProcessor& preprocessor, bool debug, TrapMode trapMode, PassOptions passOptions, bool legalizeJavaScriptFFI, bool runOptimizationPasses, bool wasmOnly)
: wasm(wasm),
allocator(wasm.allocator),
builder(wasm),
@@ -491,6 +492,7 @@ public:
debug(debug),
trapMode(trapMode),
passOptions(passOptions),
+ legalizeJavaScriptFFI(legalizeJavaScriptFFI),
runOptimizationPasses(runOptimizationPasses),
wasmOnly(wasmOnly) {}
@@ -1395,7 +1397,9 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
passRunner.add<FinalizeCalls>(this);
passRunner.add<ReFinalize>(); // FinalizeCalls changes call types, need to percolate
passRunner.add<AutoDrop>(); // FinalizeCalls may cause us to require additional drops
- passRunner.add("legalize-js-interface");
+ if (legalizeJavaScriptFFI) {
+ passRunner.add("legalize-js-interface");
+ }
if (runOptimizationPasses) {
// autodrop can add some garbage
passRunner.add("vacuum");