diff options
Diffstat (limited to 'src/passes/RemoveNonJSOps.cpp')
-rw-r--r-- | src/passes/RemoveNonJSOps.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/passes/RemoveNonJSOps.cpp b/src/passes/RemoveNonJSOps.cpp index 906c34bc4..fc3e42185 100644 --- a/src/passes/RemoveNonJSOps.cpp +++ b/src/passes/RemoveNonJSOps.cpp @@ -33,6 +33,7 @@ #include "asmjs/shared-constants.h" #include "wasm-builder.h" #include "wasm-s-parser.h" +#include "abi/js.h" #include "ir/memory-utils.h" #include "ir/module-utils.h" #include "ir/find_all.h" @@ -50,6 +51,9 @@ struct RemoveNonJSOpsPass : public WalkerPass<PostWalker<RemoveNonJSOpsPass>> { Pass* create() override { return new RemoveNonJSOpsPass; } void doWalkModule(Module* module) { + // Intrinsics may use scratch memory, ensure it. + ABI::wasm2js::ensureScratchMemoryHelpers(module); + // Discover all of the intrinsics that we need to inject, lowering all // operations to intrinsic calls while we're at it. if (!builder) builder = make_unique<Builder>(*module); |