From 0138eb5dc0f3c4eb25b9b4c9196116b09c6b1f42 Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Wed, 26 Feb 2020 17:57:19 +0100 Subject: [PATCH] add i32.eq, i32.ne, loop, br and br_if to the wat parser. --- .../jwebassembly/watparser/WatParser.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/de/inetsoftware/jwebassembly/watparser/WatParser.java b/src/de/inetsoftware/jwebassembly/watparser/WatParser.java index a3f2e22..f4180c2 100644 --- a/src/de/inetsoftware/jwebassembly/watparser/WatParser.java +++ b/src/de/inetsoftware/jwebassembly/watparser/WatParser.java @@ -82,12 +82,18 @@ public class WatParser extends WasmCodeBuilder { case "i32.add": addNumericInstruction( NumericOperator.add, ValueType.i32, javaCodePos, lineNumber ); break; + case "i32.eq": + addNumericInstruction( NumericOperator.eq, ValueType.i32, javaCodePos, lineNumber ); + break; case "i32.eqz": addNumericInstruction( NumericOperator.eqz, ValueType.i32, javaCodePos, lineNumber ); break; case "i32.mul": addNumericInstruction( NumericOperator.mul, ValueType.i32, javaCodePos, lineNumber ); break; + case "i32.ne": + addNumericInstruction( NumericOperator.ne, ValueType.i32, javaCodePos, lineNumber ); + break; case "i32.reinterpret_f32": addConvertInstruction( ValueTypeConvertion.f2i_re, javaCodePos, lineNumber ); break; @@ -244,6 +250,15 @@ public class WatParser extends WasmCodeBuilder { case "drop": addBlockInstruction( WasmBlockOperator.DROP, null, javaCodePos, lineNumber ); break; + case "loop": + addBlockInstruction( WasmBlockOperator.LOOP, null, javaCodePos, lineNumber ); + break; + case "br": + addBlockInstruction( WasmBlockOperator.BR, getInt( tokens, ++i ), javaCodePos, lineNumber ); + break; + case "br_if": + addBlockInstruction( WasmBlockOperator.BR_IF, getInt( tokens, ++i ), javaCodePos, lineNumber ); + break; case "i32.load": i = addMemoryInstruction( MemoryOperator.load, ValueType.i32, tokens, i, lineNumber ); break;