mirror of
https://github.com/i-net-software/JWebAssembly.git
synced 2025-03-15 02:44:47 +01:00
implements br_table
This commit is contained in:
parent
a7fc8e0fc6
commit
7f92d062e9
@ -644,6 +644,14 @@ public class BinaryModuleWriter extends ModuleWriter implements InstructionOpcod
|
||||
codeStream.write( BR );
|
||||
codeStream.writeVaruint32( (Integer)data );
|
||||
break;
|
||||
case BR_TABLE:
|
||||
codeStream.write( BR_TABLE );
|
||||
int[] targets = (int[])data;
|
||||
codeStream.writeVaruint32( targets.length - 1 );
|
||||
for( int i : targets ) {
|
||||
codeStream.writeVaruint32( i );
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new Error( "Unknown block: " + op );
|
||||
}
|
||||
|
@ -21,11 +21,11 @@ import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import de.inetsoftware.jwebassembly.module.WasmBlockOperator;
|
||||
import de.inetsoftware.jwebassembly.module.ModuleWriter;
|
||||
import de.inetsoftware.jwebassembly.module.NumericOperator;
|
||||
import de.inetsoftware.jwebassembly.module.ValueType;
|
||||
import de.inetsoftware.jwebassembly.module.ValueTypeConvertion;
|
||||
import de.inetsoftware.jwebassembly.module.WasmBlockOperator;
|
||||
|
||||
/**
|
||||
* Module Writer for text format with S-expressions.
|
||||
@ -279,6 +279,13 @@ public class TextModuleWriter extends ModuleWriter {
|
||||
case BR:
|
||||
name = "br " + data;
|
||||
break;
|
||||
case BR_TABLE:
|
||||
StringBuilder builder = new StringBuilder( "br_table");
|
||||
for( int i : (int[])data ) {
|
||||
builder.append( ' ' ).append( i );
|
||||
}
|
||||
name = builder.toString();
|
||||
break;
|
||||
default:
|
||||
throw new Error( "Unknown block: " + op );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user