aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-30 19:54:28 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-30 19:54:28 +0100
commit1f86ef817b64e5e78ed92dd767fa38306c7662b5 (patch)
tree1abbeee9834d7c2f7e745384649965d88ec731a6 /src/main/java
parent334782898b59817a00a3ee9b8031cd974178d1ec (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.java11
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;
}
);