Index: test/unittests/wasm/ast-decoder-unittest.cc |
diff --git a/test/unittests/wasm/ast-decoder-unittest.cc b/test/unittests/wasm/ast-decoder-unittest.cc |
index 05a0e95f6a73e5c87a644d1a1f2a5c88eebc497e..357387e6b5725543cd04a30cfb6624ac691246ad 100644 |
--- a/test/unittests/wasm/ast-decoder-unittest.cc |
+++ b/test/unittests/wasm/ast-decoder-unittest.cc |
@@ -469,12 +469,12 @@ TEST_F(AstDecoderTest, Block5) { |
sigs.v_i(), B3(WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), WASM_GET_LOCAL(0))); |
EXPECT_VERIFIES_INLINE(sigs.v_i(), |
- WASM_BLOCK(4, WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), |
+ WASM_BLOCK(WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), |
WASM_GET_LOCAL(0), WASM_GET_LOCAL(0))); |
EXPECT_VERIFIES_INLINE( |
sigs.v_i(), |
- WASM_BLOCK(5, WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), |
+ WASM_BLOCK(WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), WASM_GET_LOCAL(0), |
WASM_GET_LOCAL(0), WASM_GET_LOCAL(0))); |
} |
@@ -683,33 +683,33 @@ TEST_F(AstDecoderTest, Loop0) { |
} |
TEST_F(AstDecoderTest, Loop1) { |
- static const byte code[] = {WASM_LOOP(1, WASM_SET_LOCAL(0, WASM_ZERO))}; |
+ static const byte code[] = {WASM_LOOP(WASM_SET_LOCAL(0, WASM_ZERO))}; |
EXPECT_VERIFIES(sigs.v_i(), code); |
EXPECT_FAILURE(sigs.v_v(), code); |
EXPECT_FAILURE(sigs.f_ff(), code); |
} |
TEST_F(AstDecoderTest, Loop2) { |
- EXPECT_VERIFIES_INLINE(sigs.v_i(), WASM_LOOP(2, WASM_SET_LOCAL(0, WASM_ZERO), |
+ EXPECT_VERIFIES_INLINE(sigs.v_i(), WASM_LOOP(WASM_SET_LOCAL(0, WASM_ZERO), |
WASM_SET_LOCAL(0, WASM_ZERO))); |
} |
TEST_F(AstDecoderTest, Loop1_continue) { |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BR(0))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR(0))); |
} |
TEST_F(AstDecoderTest, Loop1_break) { |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BR(1))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR(1))); |
} |
TEST_F(AstDecoderTest, Loop2_continue) { |
- EXPECT_VERIFIES_INLINE( |
- sigs.v_i(), WASM_LOOP(2, WASM_SET_LOCAL(0, WASM_ZERO), WASM_BR(0))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_i(), |
+ WASM_LOOP(WASM_SET_LOCAL(0, WASM_ZERO), WASM_BR(0))); |
} |
TEST_F(AstDecoderTest, Loop2_break) { |
- EXPECT_VERIFIES_INLINE( |
- sigs.v_i(), WASM_LOOP(2, WASM_SET_LOCAL(0, WASM_ZERO), WASM_BR(1))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_i(), |
+ WASM_LOOP(WASM_SET_LOCAL(0, WASM_ZERO), WASM_BR(1))); |
} |
TEST_F(AstDecoderTest, ExprLoop0) { |
@@ -718,16 +718,16 @@ TEST_F(AstDecoderTest, ExprLoop0) { |
} |
TEST_F(AstDecoderTest, ExprLoop1a) { |
- EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(1, WASM_BRV(0, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(WASM_BRV(0, WASM_ZERO))); |
} |
TEST_F(AstDecoderTest, ExprLoop1b) { |
- EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(1, WASM_BRV(1, WASM_ZERO))); |
- EXPECT_FAILURE_INLINE(sigs.f_ff(), WASM_LOOP(1, WASM_BRV(1, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(WASM_BRV(1, WASM_ZERO))); |
+ EXPECT_FAILURE_INLINE(sigs.f_ff(), WASM_LOOP(WASM_BRV(1, WASM_ZERO))); |
} |
TEST_F(AstDecoderTest, ExprLoop2_unreachable) { |
- EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(2, WASM_BR(0), WASM_NOP)); |
+ EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(WASM_BR(0), WASM_NOP)); |
} |
TEST_F(AstDecoderTest, ReturnVoid1) { |
@@ -759,8 +759,8 @@ TEST_F(AstDecoderTest, Unreachable1) { |
EXPECT_VERIFIES_INLINE(sigs.v_v(), kExprUnreachable, kExprUnreachable); |
EXPECT_VERIFIES_INLINE(sigs.v_v(), B2(WASM_UNREACHABLE, WASM_ZERO)); |
EXPECT_VERIFIES_INLINE(sigs.v_v(), B2(WASM_BR(0), WASM_ZERO)); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(2, WASM_UNREACHABLE, WASM_ZERO)); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(2, WASM_BR(0), WASM_ZERO)); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_UNREACHABLE, WASM_ZERO)); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR(0), WASM_ZERO)); |
} |
TEST_F(AstDecoderTest, Unreachable_binop) { |
@@ -914,32 +914,29 @@ TEST_F(AstDecoderTest, MacrosStmt) { |
VERIFY(WASM_IF_ELSE(WASM_GET_LOCAL(0), WASM_NOP, WASM_NOP)); |
VERIFY(WASM_NOP); |
VERIFY(B1(WASM_NOP)); |
- VERIFY(WASM_LOOP(1, WASM_NOP)); |
- VERIFY(WASM_LOOP(1, WASM_BREAK(0))); |
- VERIFY(WASM_LOOP(1, WASM_CONTINUE(0))); |
+ VERIFY(WASM_LOOP(WASM_NOP)); |
+ VERIFY(WASM_LOOP(WASM_BREAK(0))); |
+ VERIFY(WASM_LOOP(WASM_CONTINUE(0))); |
} |
TEST_F(AstDecoderTest, MacrosBreak) { |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BREAK(0))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BREAK(0))); |
- EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(1, WASM_BREAKV(0, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.l_l(), |
- WASM_LOOP(1, WASM_BREAKV(0, WASM_I64V_1(0)))); |
- EXPECT_VERIFIES_INLINE(sigs.f_ff(), |
- WASM_LOOP(1, WASM_BREAKV(0, WASM_F32(0.0)))); |
- EXPECT_VERIFIES_INLINE(sigs.d_dd(), |
- WASM_LOOP(1, WASM_BREAKV(0, WASM_F64(0.0)))); |
+ EXPECT_VERIFIES_INLINE(sigs.i_i(), WASM_LOOP(WASM_BREAKV(0, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.l_l(), WASM_LOOP(WASM_BREAKV(0, WASM_I64V_1(0)))); |
+ EXPECT_VERIFIES_INLINE(sigs.f_ff(), WASM_LOOP(WASM_BREAKV(0, WASM_F32(0.0)))); |
+ EXPECT_VERIFIES_INLINE(sigs.d_dd(), WASM_LOOP(WASM_BREAKV(0, WASM_F64(0.0)))); |
} |
TEST_F(AstDecoderTest, MacrosContinue) { |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_CONTINUE(0))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_CONTINUE(0))); |
} |
TEST_F(AstDecoderTest, MacrosVariadic) { |
VERIFY(B2(WASM_NOP, WASM_NOP)); |
VERIFY(B3(WASM_NOP, WASM_NOP, WASM_NOP)); |
- VERIFY(WASM_LOOP(2, WASM_NOP, WASM_NOP)); |
- VERIFY(WASM_LOOP(3, WASM_NOP, WASM_NOP, WASM_NOP)); |
+ VERIFY(WASM_LOOP(WASM_NOP, WASM_NOP)); |
+ VERIFY(WASM_LOOP(WASM_NOP, WASM_NOP, WASM_NOP)); |
} |
TEST_F(AstDecoderTest, MacrosNestedBlocks) { |
@@ -1473,21 +1470,19 @@ TEST_F(AstDecoderTest, BreakEnd) { |
TEST_F(AstDecoderTest, BreakIfBinop) { |
EXPECT_FAILURE_INLINE( |
- sigs.i_i(), |
- WASM_BLOCK( |
- 1, WASM_I32_ADD(WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO), WASM_ZERO))); |
- EXPECT_FAILURE_INLINE( |
- sigs.i_i(), |
- WASM_BLOCK( |
- 1, WASM_I32_ADD(WASM_ZERO, WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO)))); |
+ sigs.i_i(), WASM_BLOCK(WASM_I32_ADD(WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO), |
+ WASM_ZERO))); |
+ EXPECT_FAILURE_INLINE(sigs.i_i(), |
+ WASM_BLOCK(WASM_I32_ADD( |
+ WASM_ZERO, WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO)))); |
} |
TEST_F(AstDecoderTest, BreakNesting1) { |
for (int i = 0; i < 5; i++) { |
// (block[2] (loop[2] (if (get p) break[N]) (set p 1)) p) |
byte code[] = {WASM_BLOCK( |
- 2, WASM_LOOP(2, WASM_IF(WASM_GET_LOCAL(0), WASM_BRV(i + 1, WASM_ZERO)), |
- WASM_SET_LOCAL(0, WASM_I8(1))), |
+ WASM_LOOP(WASM_IF(WASM_GET_LOCAL(0), WASM_BRV(i + 1, WASM_ZERO)), |
+ WASM_SET_LOCAL(0, WASM_I8(1))), |
WASM_GET_LOCAL(0))}; |
if (i < 3) { |
EXPECT_VERIFIES(sigs.i_i(), code); |
@@ -1501,7 +1496,7 @@ TEST_F(AstDecoderTest, BreakNesting2) { |
AddLocals(kAstI32, 1); |
for (int i = 0; i < 5; i++) { |
// (block[2] (loop[2] (if 0 break[N]) (set p 1)) (return p)) (11) |
- byte code[] = {B1(WASM_LOOP(2, WASM_IF(WASM_ZERO, WASM_BREAK(i + 1)), |
+ byte code[] = {B1(WASM_LOOP(WASM_IF(WASM_ZERO, WASM_BREAK(i + 1)), |
WASM_SET_LOCAL(0, WASM_I8(1)))), |
WASM_I8(11)}; |
if (i < 2) { |
@@ -1516,7 +1511,7 @@ TEST_F(AstDecoderTest, BreakNesting3) { |
for (int i = 0; i < 5; i++) { |
// (block[1] (loop[1] (block[1] (if 0 break[N]) |
byte code[] = { |
- WASM_BLOCK(1, WASM_LOOP(1, B1(WASM_IF(WASM_ZERO, WASM_BREAK(i + 1)))))}; |
+ WASM_BLOCK(WASM_LOOP(B1(WASM_IF(WASM_ZERO, WASM_BREAK(i + 1)))))}; |
if (i < 3) { |
EXPECT_VERIFIES(sigs.v_v(), code); |
} else { |
@@ -1597,8 +1592,7 @@ TEST_F(AstDecoderTest, ExprBreak_TypeCheck) { |
} |
TEST_F(AstDecoderTest, ExprBreak_TypeCheckAll) { |
- byte code1[] = {WASM_BLOCK(2, |
- WASM_IF(WASM_ZERO, WASM_BRV(0, WASM_GET_LOCAL(0))), |
+ byte code1[] = {WASM_BLOCK(WASM_IF(WASM_ZERO, WASM_BRV(0, WASM_GET_LOCAL(0))), |
WASM_GET_LOCAL(1))}; |
byte code2[] = {B2(WASM_IF(WASM_ZERO, WASM_BRV_IF_ZERO(0, WASM_GET_LOCAL(0))), |
WASM_GET_LOCAL(1))}; |
@@ -1629,7 +1623,7 @@ TEST_F(AstDecoderTest, ExprBr_Unify) { |
byte code1[] = {B2(WASM_IF(WASM_ZERO, WASM_BRV(1, WASM_GET_LOCAL(which))), |
WASM_GET_LOCAL(which ^ 1))}; |
byte code2[] = { |
- WASM_LOOP(2, WASM_IF(WASM_ZERO, WASM_BRV(2, WASM_GET_LOCAL(which))), |
+ WASM_LOOP(WASM_IF(WASM_ZERO, WASM_BRV(2, WASM_GET_LOCAL(which))), |
WASM_GET_LOCAL(which ^ 1))}; |
if (type == kAstI32) { |
@@ -1686,7 +1680,7 @@ TEST_F(AstDecoderTest, ExprBrIf_Unify) { |
byte code1[] = {B2(WASM_BRV_IF_ZERO(0, WASM_GET_LOCAL(which)), |
WASM_GET_LOCAL(which ^ 1))}; |
- byte code2[] = {WASM_LOOP(2, WASM_BRV_IF_ZERO(1, WASM_GET_LOCAL(which)), |
+ byte code2[] = {WASM_LOOP(WASM_BRV_IF_ZERO(1, WASM_GET_LOCAL(which)), |
WASM_GET_LOCAL(which ^ 1))}; |
if (type == kAstI32) { |
@@ -1738,8 +1732,7 @@ TEST_F(AstDecoderTest, BrTable2a) { |
TEST_F(AstDecoderTest, BrTable2b) { |
static byte code[] = {WASM_BLOCK( |
- 1, WASM_BLOCK( |
- 1, WASM_BR_TABLE(WASM_I8(67), 1, BR_TARGET(0), BR_TARGET(1))))}; |
+ WASM_BLOCK(WASM_BR_TABLE(WASM_I8(67), 1, BR_TARGET(0), BR_TARGET(1))))}; |
EXPECT_VERIFIES(sigs.v_v(), code); |
} |
@@ -1764,7 +1757,7 @@ TEST_F(AstDecoderTest, BrTable_invalid_br1) { |
TEST_F(AstDecoderTest, BrTable_invalid_br2) { |
for (int depth = 0; depth < 4; depth++) { |
byte code[] = { |
- WASM_LOOP(1, WASM_BR_TABLE(WASM_GET_LOCAL(0), 0, BR_TARGET(depth)))}; |
+ WASM_LOOP(WASM_BR_TABLE(WASM_GET_LOCAL(0), 0, BR_TARGET(depth)))}; |
if (depth <= 1) { |
EXPECT_VERIFIES(sigs.v_i(), code); |
} else { |
@@ -1779,14 +1772,14 @@ TEST_F(AstDecoderTest, ExprBreakNesting1) { |
EXPECT_VERIFIES_INLINE(sigs.v_v(), B1(WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO))); |
EXPECT_VERIFIES_INLINE(sigs.v_v(), B1(WASM_BR_IF(0, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BRV(0, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BR(0))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BRV(0, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR(0))); |
EXPECT_VERIFIES_INLINE(sigs.v_v(), |
- WASM_LOOP(1, WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BR_IF(0, WASM_ZERO))); |
+ WASM_LOOP(WASM_BRV_IF(0, WASM_ZERO, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR_IF(0, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BRV(1, WASM_ZERO))); |
- EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(1, WASM_BR(1))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BRV(1, WASM_ZERO))); |
+ EXPECT_VERIFIES_INLINE(sigs.v_v(), WASM_LOOP(WASM_BR(1))); |
} |
TEST_F(AstDecoderTest, Select) { |