diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-14 22:41:15 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-14 22:41:15 +0100 |
| commit | 9b0f33fddc49fad7b8f341614bf083bd130783b6 (patch) | |
| tree | 170c4227d6cb00cfb2ff286d362ffd5b188fc7a9 /src/main/java | |
| parent | 3dfd0c6534584206d2f0bb6a88b56f7201d18197 (diff) | |
Handle writing of WASM block types with one result type
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructions.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructions.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructions.java index 00766dbd..6591d817 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructions.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatInstructions.java @@ -6,6 +6,7 @@ import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmAlignment; import java.io.IOException; import static org.shedlang.compiler.backends.wasm.structure.binary.WasmBinaryFormatModules.writeLocalIndex; +import static org.shedlang.compiler.backends.wasm.structure.binary.WasmBinaryFormatTypes.writeValueType; public class WasmBinaryFormatInstructions { // Corresponds to https://webassembly.github.io/spec/core/binary/instructions.html @@ -136,6 +137,8 @@ public class WasmBinaryFormatInstructions { private static void writeBlockType(WasmBlockType blockType, WasmBinaryWriter writer) { if (blockType.resultTypes().isEmpty()) { writer.writeByte(0x40); + } else if (blockType.resultTypes().size() == 1) { + writeValueType(blockType.resultTypes().get(0), writer); } else { // TODO: implement this throw new RuntimeException("not implemented"); |
