diff options
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"); |
