diff --git a/src/tools/fuzzing/fuzzing.cpp b/src/tools/fuzzing/fuzzing.cpp index d65c3a1cd1f..f377e47af29 100644 --- a/src/tools/fuzzing/fuzzing.cpp +++ b/src/tools/fuzzing/fuzzing.cpp @@ -5265,15 +5265,10 @@ Expression* TranslateToFuzzReader::makeAtomic(Type type) { auto* ptr = makePointer(); if (oneIn(2)) { auto* value = make(type); + auto op = pick(RMWAdd, RMWSub, RMWAnd, RMWOr, RMWXor, RMWXchg); + auto order = pick(atomicMemoryOrders); return builder.makeAtomicRMW( - pick(RMWAdd, RMWSub, RMWAnd, RMWOr, RMWXor, RMWXchg), - bytes, - offset, - ptr, - value, - type, - wasm.memories[0]->name, - pick(atomicMemoryOrders)); + op, bytes, offset, ptr, value, type, wasm.memories[0]->name, order); } else { auto* expected = make(type); auto* replacement = make(type); diff --git a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt index 7e417cb72b4..fb88788c38a 100644 --- a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt +++ b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt @@ -1,56 +1,92 @@ Metrics total - [exports] : 9 - [funcs] : 5 - [globals] : 2 - [imports] : 12 + [exports] : 124 + [funcs] : 223 + [globals] : 13 + [imports] : 13 [memories] : 1 - [memory-data] : 16 - [table-data] : 3 + [memory-data] : 31 + [table-data] : 40 [tables] : 2 [tags] : 2 - [total] : 717 - [vars] : 24 - ArrayNew : 4 - ArrayNewFixed : 9 - AtomicFence : 2 - AtomicNotify : 2 - Binary : 40 - Block : 114 - BrOn : 3 - Break : 24 - Call : 15 - CallRef : 3 - Const : 122 - Drop : 8 - GlobalGet : 40 - GlobalSet : 36 - I31Get : 1 - If : 34 - Load : 7 - LocalGet : 27 - LocalSet : 36 - Loop : 13 - Nop : 19 - Pop : 6 - RefAs : 3 - RefEq : 3 - RefFunc : 10 - RefI31 : 5 - RefIsNull : 1 - RefNull : 3 - Return : 2 - SIMDExtract : 5 - Select : 3 - Store : 4 - StringConst : 15 - StringEncode : 5 - StringEq : 2 - StringMeasure : 1 - StructNew : 8 - Try : 7 - TryTable : 6 - TupleExtract : 3 - TupleMake : 7 - Unary : 40 - Unreachable : 19 + [total] : 78541 + [vars] : 4770 + ArrayCmpxchg : 45 + ArrayCopy : 41 + ArrayFill : 38 + ArrayGet : 391 + ArrayLen : 602 + ArrayNew : 1109 + ArrayNewFixed : 415 + ArrayRMW : 55 + ArraySet : 82 + AtomicCmpxchg : 37 + AtomicFence : 74 + AtomicNotify : 45 + AtomicRMW : 63 + Binary : 3946 + Block : 7421 + BrOn : 319 + Break : 1166 + Call : 1109 + CallIndirect : 187 + CallRef : 274 + Const : 11911 + ContBind : 1 + ContNew : 29 + DataDrop : 15 + Drop : 598 + GlobalGet : 4167 + GlobalSet : 2340 + I31Get : 67 + If : 2686 + Load : 364 + LocalGet : 6969 + LocalSet : 4277 + Loop : 942 + MemoryCopy : 16 + MemoryFill : 9 + MemoryInit : 14 + Nop : 805 + Pop : 323 + RefAs : 4383 + RefCast : 197 + RefEq : 358 + RefFunc : 1205 + RefGetDesc : 59 + RefI31 : 667 + RefIsNull : 78 + RefNull : 5442 + RefTest : 78 + Return : 363 + SIMDExtract : 159 + SIMDLoad : 2 + SIMDReplace : 1 + SIMDShift : 2 + SIMDShuffle : 1 + SIMDTernary : 1 + Select : 348 + Store : 185 + StringConcat : 1 + StringConst : 432 + StringEncode : 59 + StringEq : 60 + StringMeasure : 77 + StringNew : 8 + StringWTF16Get : 98 + StructCmpxchg : 50 + StructGet : 560 + StructNew : 5387 + StructRMW : 55 + StructSet : 79 + Switch : 6 + TableGet : 1 + TableSet : 79 + Throw : 114 + ThrowRef : 8 + Try : 426 + TryTable : 532 + TupleExtract : 253 + TupleMake : 294 + Unary : 2283 + Unreachable : 1198 diff --git a/test/passes/translate-to-fuzz_all-features_metrics_noprint.wast b/test/passes/translate-to-fuzz_all-features_metrics_noprint.wast index 3eae51db6aa..5904be26e1b 100644 Binary files a/test/passes/translate-to-fuzz_all-features_metrics_noprint.wast and b/test/passes/translate-to-fuzz_all-features_metrics_noprint.wast differ