diff --git a/src/wasm.h b/src/wasm.h index 601acbadc80..3007b07f7f4 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -953,9 +953,9 @@ class Call : public SpecificExpression { public: Call(MixedArena& allocator) : operands(allocator) {} + bool isReturn = false; ExpressionList operands; Name target; - bool isReturn = false; void finalize(); }; @@ -963,11 +963,12 @@ class Call : public SpecificExpression { class CallIndirect : public SpecificExpression { public: CallIndirect(MixedArena& allocator) : operands(allocator) {} + + bool isReturn = false; HeapType heapType; ExpressionList operands; Expression* target; Name table; - bool isReturn = false; void finalize(); }; @@ -1061,12 +1062,12 @@ class AtomicRMW : public SpecificExpression { AtomicRMW(MixedArena& allocator) : AtomicRMW() {} AtomicRMWOp op; + MemoryOrder order = MemoryOrder::SeqCst; uint8_t bytes; Address offset; Expression* ptr; Expression* value; Name memory; - MemoryOrder order = MemoryOrder::SeqCst; void finalize(); }; @@ -1077,12 +1078,12 @@ class AtomicCmpxchg : public SpecificExpression { AtomicCmpxchg(MixedArena& allocator) : AtomicCmpxchg() {} uint8_t bytes; + MemoryOrder order = MemoryOrder::SeqCst; Address offset; Expression* ptr; Expression* expected; Expression* replacement; Name memory; - MemoryOrder order = MemoryOrder::SeqCst; void finalize(); }; @@ -1146,9 +1147,9 @@ class SIMDReplace : public SpecificExpression { SIMDReplace() = default; SIMDReplace(MixedArena& allocator) : SIMDReplace() {} + uint8_t index; SIMDReplaceOp op; Expression* vec; - uint8_t index; Expression* value; void finalize(); @@ -1663,8 +1664,8 @@ class I31Get : public SpecificExpression { I31Get() = default; I31Get(MixedArena& allocator) {} - Expression* i31; bool signed_ = false; + Expression* i31; void finalize(); }; @@ -1672,9 +1673,10 @@ class I31Get : public SpecificExpression { class CallRef : public SpecificExpression { public: CallRef(MixedArena& allocator) : operands(allocator) {} + + bool isReturn = false; ExpressionList operands; Expression* target; - bool isReturn = false; void finalize(); }; @@ -1794,10 +1796,10 @@ class StructRMW : public SpecificExpression { StructRMW(MixedArena& allocator) {} AtomicRMWOp op; + MemoryOrder order; Index index; Expression* ref; Expression* value; - MemoryOrder order; void finalize(); }; @@ -1807,11 +1809,11 @@ class StructCmpxchg : public SpecificExpression { StructCmpxchg() = default; StructCmpxchg(MixedArena& allocator) {} + MemoryOrder order; Index index; Expression* ref; Expression* expected; Expression* replacement; - MemoryOrder order; void finalize(); }; @@ -2040,11 +2042,11 @@ class ArrayRMW : public SpecificExpression { ArrayRMW() = default; ArrayRMW(MixedArena& allocator) {} + MemoryOrder order; AtomicRMWOp op; Expression* ref; Expression* index; Expression* value; - MemoryOrder order; void finalize(); }; @@ -2054,11 +2056,11 @@ class ArrayCmpxchg : public SpecificExpression { ArrayCmpxchg() = default; ArrayCmpxchg(MixedArena& allocator) {} + MemoryOrder order; Expression* ref; Expression* index; Expression* expected; Expression* replacement; - MemoryOrder order; void finalize(); }; diff --git a/test/gtest/sizes.cpp b/test/gtest/sizes.cpp index a421b56fa54..913427f617e 100644 --- a/test/gtest/sizes.cpp +++ b/test/gtest/sizes.cpp @@ -16,8 +16,8 @@ TEST(SizesTest, ExpressionSizes) { EXPECT_EQ(sizeof(Loop), 32u); EXPECT_EQ(sizeof(Break), 40u); EXPECT_EQ(sizeof(Switch), 72u); - EXPECT_EQ(sizeof(Call), 64u); - EXPECT_EQ(sizeof(CallIndirect), 80u); + EXPECT_EQ(sizeof(Call), 56u); + EXPECT_EQ(sizeof(CallIndirect), 72u); EXPECT_EQ(sizeof(LocalGet), 16u); EXPECT_EQ(sizeof(LocalSet), 24u); EXPECT_EQ(sizeof(GlobalGet), 24u); @@ -34,14 +34,14 @@ TEST(SizesTest, ExpressionSizes) { EXPECT_EQ(sizeof(MemoryGrow), 32u); EXPECT_EQ(sizeof(Nop), 16u); EXPECT_EQ(sizeof(Unreachable), 16u); - EXPECT_EQ(sizeof(AtomicRMW), 64u); - EXPECT_EQ(sizeof(AtomicCmpxchg), 64u); + EXPECT_EQ(sizeof(AtomicRMW), 56u); + EXPECT_EQ(sizeof(AtomicCmpxchg), 56u); EXPECT_EQ(sizeof(AtomicWait), 64u); EXPECT_EQ(sizeof(AtomicNotify), 48u); EXPECT_EQ(sizeof(AtomicFence), 16u); EXPECT_EQ(sizeof(Pause), 16u); EXPECT_EQ(sizeof(SIMDExtract), 24u); - EXPECT_EQ(sizeof(SIMDReplace), 40u); + EXPECT_EQ(sizeof(SIMDReplace), 32u); EXPECT_EQ(sizeof(SIMDShuffle), 48u); EXPECT_EQ(sizeof(SIMDTernary), 40u); EXPECT_EQ(sizeof(SIMDShift), 32u); @@ -72,8 +72,8 @@ TEST(SizesTest, ExpressionSizes) { EXPECT_EQ(sizeof(TupleMake), 48u); EXPECT_EQ(sizeof(TupleExtract), 24u); EXPECT_EQ(sizeof(RefI31), 24u); - EXPECT_EQ(sizeof(I31Get), 32u); - EXPECT_EQ(sizeof(CallRef), 64u); + EXPECT_EQ(sizeof(I31Get), 24u); + EXPECT_EQ(sizeof(CallRef), 56u); EXPECT_EQ(sizeof(RefTest), 32u); EXPECT_EQ(sizeof(RefCast), 32u); EXPECT_EQ(sizeof(RefGetDesc), 24u); @@ -81,8 +81,8 @@ TEST(SizesTest, ExpressionSizes) { EXPECT_EQ(sizeof(StructNew), 56u); EXPECT_EQ(sizeof(StructGet), 24u); EXPECT_EQ(sizeof(StructSet), 32u); - EXPECT_EQ(sizeof(StructRMW), 48u); - EXPECT_EQ(sizeof(StructCmpxchg), 48u); + EXPECT_EQ(sizeof(StructRMW), 40u); + EXPECT_EQ(sizeof(StructCmpxchg), 40u); EXPECT_EQ(sizeof(ArrayNew), 32u); EXPECT_EQ(sizeof(ArrayNewData), 40u); EXPECT_EQ(sizeof(ArrayNewElem), 40u); @@ -96,8 +96,8 @@ TEST(SizesTest, ExpressionSizes) { EXPECT_EQ(sizeof(ArrayFill), 48u); EXPECT_EQ(sizeof(ArrayInitData), 56u); EXPECT_EQ(sizeof(ArrayInitElem), 56u); - EXPECT_EQ(sizeof(ArrayRMW), 48u); - EXPECT_EQ(sizeof(ArrayCmpxchg), 56u); + EXPECT_EQ(sizeof(ArrayRMW), 40u); + EXPECT_EQ(sizeof(ArrayCmpxchg), 48u); EXPECT_EQ(sizeof(RefAs), 24u); EXPECT_EQ(sizeof(StringNew), 40u); EXPECT_EQ(sizeof(StringConst), 24u);