mirror of
https://github.com/i-net-software/JWebAssembly.git
synced 2025-03-15 02:44:47 +01:00
more if conditions
This commit is contained in:
parent
01386051af
commit
b23683ff68
@ -476,13 +476,61 @@ public class BinaryModuleWriter extends ModuleWriter implements InstructionOpcod
|
||||
op = I32_GT_S;
|
||||
break;
|
||||
case i64:
|
||||
op = I64_NE;
|
||||
op = I64_GT_S;
|
||||
break;
|
||||
case f32:
|
||||
op = F32_NE;
|
||||
op = F32_GT;
|
||||
break;
|
||||
case f64:
|
||||
op = F64_NE;
|
||||
op = F64_GT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case lt_s:
|
||||
switch( valueType ) {
|
||||
case i32:
|
||||
op = I32_LT_S;
|
||||
break;
|
||||
case i64:
|
||||
op = I64_LT_S;
|
||||
break;
|
||||
case f32:
|
||||
op = F32_LT;
|
||||
break;
|
||||
case f64:
|
||||
op = F64_LT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case le_s:
|
||||
switch( valueType ) {
|
||||
case i32:
|
||||
op = I32_LE_S;
|
||||
break;
|
||||
case i64:
|
||||
op = I64_LE_S;
|
||||
break;
|
||||
case f32:
|
||||
op = F32_LE;
|
||||
break;
|
||||
case f64:
|
||||
op = F64_LE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ge_s:
|
||||
switch( valueType ) {
|
||||
case i32:
|
||||
op = I32_GE_S;
|
||||
break;
|
||||
case i64:
|
||||
op = I64_GE_S;
|
||||
break;
|
||||
case f32:
|
||||
op = F32_GE;
|
||||
break;
|
||||
case f64:
|
||||
op = F64_GE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -564,6 +564,15 @@ public abstract class ModuleWriter implements Closeable {
|
||||
case 155: // iflt
|
||||
opIfCondition( NumericOperator.gt, byteCode );
|
||||
break;
|
||||
case 156: // ifge
|
||||
opIfCondition( NumericOperator.le_s, byteCode );
|
||||
break;
|
||||
case 157: // ifgt
|
||||
opIfCondition( NumericOperator.lt_s, byteCode );
|
||||
break;
|
||||
case 158: // ifle
|
||||
opIfCondition( NumericOperator.ge_s, byteCode );
|
||||
break;
|
||||
case 167: // goto
|
||||
byteCode.skip(2);
|
||||
break;
|
||||
|
@ -34,4 +34,6 @@ public enum NumericOperator {
|
||||
ne,
|
||||
gt,
|
||||
lt_s,
|
||||
le_s,
|
||||
ge_s,
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user