diff --git a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java index 481eaa7..6423e3b 100644 --- a/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/binary/BinaryModuleWriter.java @@ -656,6 +656,10 @@ public class BinaryModuleWriter extends ModuleWriter implements InstructionOpcod codeStream.writeVaruint32( i ); } break; + case LOOP: + codeStream.write( LOOP ); + codeStream.write( 0x40 ); // void; the return type of the loop. currently we does not use it + break; default: throw new Error( "Unknown block: " + op ); } diff --git a/src/de/inetsoftware/jwebassembly/module/WasmBlockOperator.java b/src/de/inetsoftware/jwebassembly/module/WasmBlockOperator.java index 68c2cf2..8a6b14a 100644 --- a/src/de/inetsoftware/jwebassembly/module/WasmBlockOperator.java +++ b/src/de/inetsoftware/jwebassembly/module/WasmBlockOperator.java @@ -32,4 +32,5 @@ public enum WasmBlockOperator { BR, BR_IF, BR_TABLE, + LOOP, } diff --git a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java index e6c7eae..ea3eb4c 100644 --- a/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java +++ b/src/de/inetsoftware/jwebassembly/text/TextModuleWriter.java @@ -289,6 +289,10 @@ public class TextModuleWriter extends ModuleWriter { } name = builder.toString(); break; + case LOOP: + name = "loop"; + insetAfter++; + break; default: throw new Error( "Unknown block: " + op ); }