From 334782898b59817a00a3ee9b8031cd974178d1ec Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 30 Jun 2023 19:51:50 +0100 Subject: Define builtin modules outside of code gen --- .../backends/llvm/LlvmCodeGenNamespaces.java | 6 ------ .../backends/wasm/WasmCodeGenNamespaces.java | 20 +------------------- 2 files changed, 1 insertion(+), 25 deletions(-) (limited to 'src/main/java/org/shedlang/compiler/backends') diff --git a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenNamespaces.java b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenNamespaces.java index 62ecaa9f..b3ef2010 100644 --- a/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenNamespaces.java +++ b/src/main/java/org/shedlang/compiler/backends/llvm/LlvmCodeGenNamespaces.java @@ -107,12 +107,6 @@ public class LlvmCodeGenNamespaces { )); context = context.createFunction(initContext -> { - // TODO: handle default locals more gracefully - initContext = initContext.addShedLocal("print", new LlvmOperandPtrToInt( - new LlvmVariableGlobal("shed__runtime__print_closure"), - LlvmCodeGenTypes.VALUE_TYPE - )); - initContext = generateInitBody.apply(initContext); initContext = initContext.addInstruction(new LlvmStore( 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 9704c787..9cf3a575 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaces.java @@ -51,24 +51,7 @@ public class WasmCodeGenNamespaces { globalNameNamespaceInit(namespaceName), new WasmFuncType(List.of(), List.of()), initContext -> { - - // TODO: handle default locals more gracefully - var printResult = initContext.addShedLocal("print"); - var print = printResult.value(); - initContext = printResult.context(); - - initContext = initContext - .addImport(new WasmImport( - "env", - "shed__runtime__print_closure__get", - new WasmImportDescriptor.Func( - "shed__runtime__print_closure__get", - new WasmFuncType(List.of(), List.of(WasmValueType.I32)) - ) - )) - .addInstruction(new WasmCall(new WasmFuncName("shed__runtime__print_closure__get"))) - .addInstruction(new WasmLocalSet(print)); - + // TODO: set isInited to true return generateInitBody.apply(initContext); } ); @@ -83,7 +66,6 @@ public class WasmCodeGenNamespaces { globalNameNamespaceImport(namespaceName), new WasmFuncType(List.of(), List.of(WasmCodeGenTypes.VALUE_TYPE)), bodyContext -> { - // TODO: only init when necessary return bodyContext .addInstruction(new WasmGlobalGet( new WasmGlobalName(globalNameNamespaceIsInited(namespaceName)) -- cgit v1.2.3