diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-30 19:54:28 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-30 19:54:28 +0100 |
| commit | 1f86ef817b64e5e78ed92dd767fa38306c7662b5 (patch) | |
| tree | 1abbeee9834d7c2f7e745384649965d88ec731a6 /src/main/java | |
| parent | 334782898b59817a00a3ee9b8031cd974178d1ec (diff) | |
Mark namespace as inited in WASM backend
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java index 9cf3a575..f951d644 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java @@ -51,8 +51,15 @@ public class WasmCodeGenNamespaces { globalNameNamespaceInit(namespaceName), new WasmFuncType(List.of(), List.of()), initContext -> { - // TODO: set isInited to true - return generateInitBody.apply(initContext); + initContext = generateInitBody.apply(initContext); + + initContext = initContext + .addInstruction(new WasmI32Const(1)) + .addInstruction(new WasmGlobalSet( + new WasmGlobalName(globalNameNamespaceIsInited(namespaceName)) + )); + + return initContext; } ); |
