implements i32.wrap_i64

This commit is contained in:
Volker Berlin 2023-02-28 20:07:44 +01:00
parent 042927f9c4
commit 60d8340760
No known key found for this signature in database
GPG Key ID: 988423EF815BE4CB

View File

@ -110,6 +110,9 @@ public class WatParser extends WasmCodeBuilder {
case "i32.trunc_sat_f32_s":
addConvertInstruction( ValueTypeConvertion.f2i, javaCodePos, lineNumber );
break;
case "i32.wrap_i64":
addConvertInstruction( ValueTypeConvertion.l2i, javaCodePos, lineNumber );
break;
case "i64.const":
addConstInstruction( Long.parseLong( get( tokens, ++i ) ), ValueType.i64, javaCodePos, lineNumber );
break;
@ -343,9 +346,10 @@ public class WatParser extends WasmCodeBuilder {
addStructInstruction( StructOperator.NEW_DEFAULT, typeName, null, javaCodePos, lineNumber );
break;
case "array.get":
case "array.set":
typeName = get( tokens, ++i );
type = ((ArrayType)getTypeManager().valueOf( typeName )).getArrayType();
addArrayInstruction( ArrayOperator.GET, type, javaCodePos, lineNumber );
addArrayInstruction( "array.get".equals( tok ) ? ArrayOperator.GET : ArrayOperator.SET, type, javaCodePos, lineNumber );
break;
default:
throw new WasmException( "Unknown WASM token: " + tok, lineNumber );