diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-27 19:00:03 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-27 19:00:03 +0100 |
| commit | 72e0c1257a2a47bf50fbb57500ce164a2d84d348 (patch) | |
| tree | acf55dcc94299fd861471ed4666762d463758e9c /src/main/java | |
| parent | 84d8cde3950eedfbcd477500d27494ce1435120e (diff) | |
Extract writeTableIndex()
Diffstat (limited to 'src/main/java')
2 files changed, 6 insertions, 3 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 49e120ec..4bfae740 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 @@ -28,9 +28,7 @@ public class WasmBinaryFormatInstructions { case WasmCallIndirect callIndirect -> { writer.writeByte(0x11); writer.writeTypeIndex(callIndirect.funcType()); - // TODO: the table index corresponds to the import in the context. - // Make this - writer.writeUnsignedInt32(0); // Table index + writer.writeTableIndex(callIndirect.tableIndex()); } // == Parametric Instructions == diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java index de23bd4b..c14fd1db 100644 --- a/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java +++ b/src/main/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryWriter.java @@ -3,6 +3,7 @@ package org.shedlang.compiler.backends.wasm.structure.binary; import org.shedlang.compiler.backends.wasm.structure.BinaryWriter; import org.shedlang.compiler.backends.wasm.structure.ast.linking.WasmMemoryAddress; import org.shedlang.compiler.backends.wasm.structure.ast.linking.WasmRelocatableIndex; +import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmTableIndex; import org.shedlang.compiler.backends.wasm.structure.ast.types.WasmFuncType; import java.io.IOException; @@ -54,6 +55,10 @@ public class WasmBinaryWriter { ); } + public void writeTableIndex(WasmTableIndex tableIndex) { + writeUnsignedInt32(0); + } + public void writeTypeIndex(WasmFuncType funcType) throws IOException { writeRelocatableIndex( WasmRelocationType.TYPE_INDEX_LEB, |
