diff options
Diffstat (limited to 'src/wasm-emscripten.h')
-rw-r--r-- | src/wasm-emscripten.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/wasm-emscripten.h b/src/wasm-emscripten.h index 0a0f88574..1878e6531 100644 --- a/src/wasm-emscripten.h +++ b/src/wasm-emscripten.h @@ -29,7 +29,8 @@ public: EmscriptenGlueGenerator(Module& wasm, Address stackPointerOffset = Address(0)) : wasm(wasm), builder(wasm), - stackPointerOffset(stackPointerOffset) { } + stackPointerOffset(stackPointerOffset), + useStackPointerGlobal(stackPointerOffset == 0) { } void generateRuntimeFunctions(); Function* generateMemoryGrowthFunction(); @@ -41,13 +42,18 @@ public: std::string generateEmscriptenMetadata( Address staticBump, std::vector<Name> const& initializerFunctions); + // Replace placeholder emscripten_asm_const functions with *_signature versions. + void fixEmAsmConsts(); + private: Module& wasm; Builder builder; Address stackPointerOffset; + bool useStackPointerGlobal; - Load* generateLoadStackPointer(); - Store* generateStoreStackPointer(Expression* value); + Global* getStackPointerGlobal(); + Expression* generateLoadStackPointer(); + Expression* generateStoreStackPointer(Expression* value); void generateStackSaveFunction(); void generateStackAllocFunction(); void generateStackRestoreFunction(); |