diff options
Diffstat (limited to 'src/wasm-module-building.h')
-rw-r--r-- | src/wasm-module-building.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/wasm-module-building.h b/src/wasm-module-building.h index 43cc493d1..52a4e7536 100644 --- a/src/wasm-module-building.h +++ b/src/wasm-module-building.h @@ -96,6 +96,14 @@ public: return; } + // Before parallelism, create all passes on the main thread here, to ensure + // constructors run at least once on the main thread, for one-time init things. + { + PassRunner passRunner(wasm); + addPrePasses(passRunner); + passRunner.addDefaultFunctionOptimizationPasses(); + } + // prepare work list endMarker = new Function(); list = new std::atomic<Function*>[numFunctions]; |