Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
9781802
Fuzzer: Emit more br_on_cast_desc_eq and br_on_cast_desc_eq_fail inst…
tlively Oct 3, 2026
9d8ae81
Fuzzer: Emit try-delegate instructions
tlively Oct 3, 2026
4e04f93
Fuzzer: Emit elem.drop instructions
tlively Oct 3, 2026
3e79804
Fuzzer: Emit extern.convert_any instructions
tlively Oct 3, 2026
6f3ebe7
Merge branch 'main' into fuzzer-more-br-on-desc
tlively Oct 6, 2026
2773397
Merge branch 'fuzzer-more-br-on-desc' into fuzzer-delegate
tlively Oct 6, 2026
fd57169
Merge branch 'fuzzer-delegate' into fuzzer-elem-drop
tlively Oct 6, 2026
e3e76a3
Merge branch 'fuzzer-elem-drop' into fuzzer-extern-convert-any
tlively Oct 6, 2026
a8843da
Merge branch 'main' into fuzzer-more-br-on-desc
tlively Oct 7, 2026
ec2cc02
Merge branch 'fuzzer-more-br-on-desc' into fuzzer-delegate
tlively Oct 7, 2026
b59b864
Merge branch 'fuzzer-delegate' into fuzzer-elem-drop
tlively Oct 7, 2026
98ea797
Merge branch 'fuzzer-elem-drop' into fuzzer-extern-convert-any
tlively Oct 7, 2026
2b91e7a
Merge branch 'main' into fuzzer-more-br-on-desc
tlively Oct 7, 2026
35a159e
Merge branch 'fuzzer-more-br-on-desc' into fuzzer-delegate
tlively Oct 7, 2026
c81955a
Merge branch 'fuzzer-delegate' into fuzzer-elem-drop
tlively Oct 7, 2026
32efa7b
Merge branch 'fuzzer-elem-drop' into fuzzer-extern-convert-any
tlively Oct 7, 2026
ab1eb44
Merge branch 'main' into fuzzer-more-br-on-desc
tlively Oct 9, 2026
9835276
Merge branch 'fuzzer-more-br-on-desc' into fuzzer-delegate
tlively Oct 9, 2026
6a01e4e
Merge branch 'fuzzer-delegate' into fuzzer-elem-drop
tlively Oct 9, 2026
0784a9f
Merge branch 'fuzzer-elem-drop' into fuzzer-extern-convert-any
tlively Oct 9, 2026
4abd63a
Merge remote-tracking branch 'origin/main' into fuzzer-extern-convert…
tlively Oct 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/tools/fuzzing/fuzzing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4291,6 +4291,13 @@ Expression* TranslateToFuzzReader::makeBasicRef(Type type) {
// Shared strings not yet supported.
return makeConst(Type(HeapType::string, NonNullable));
}
if (wasm.features.hasGC() && oneIn(2)) {
AutoNester nester(*this);
auto anyType =
Type(HeapTypes::any.getBasic(share), type.getNullability());
auto* child = funcContext ? make(anyType) : makeConst(anyType);
return builder.makeRefAs(ExternConvertAny, child);
}
// If we can, prefer using an imported global over a null.
bool canImport =
!preserveImportsAndExports && isImportableGlobalType(type);
Expand Down
174 changes: 88 additions & 86 deletions test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
Original file line number Diff line number Diff line change
@@ -1,95 +1,97 @@
Metrics
total
[exports] : 78
[funcs] : 163
[exports] : 44
[funcs] : 93
[globals] : 13
[imports] : 12
[imports] : 13
[memories] : 1
[memory-data] : 31
[table-data] : 39
[table-data] : 16
[tables] : 2
[tags] : 2
[total] : 93958
[vars] : 3603
ArrayCmpxchg : 19
ArrayCopy : 20
ArrayFill : 28
ArrayGet : 307
ArrayLen : 415
ArrayNew : 1092
ArrayNewFixed : 288
ArrayRMW : 11
ArraySet : 48
AtomicCmpxchg : 31
AtomicFence : 49
AtomicNotify : 17
AtomicRMW : 17
AtomicWait : 10
Binary : 3070
Block : 5914
BrOn : 559
Break : 820
Call : 930
CallIndirect : 146
CallRef : 167
Const : 12562
ContBind : 4
ContNew : 98
DataDrop : 14
Drop : 721
ElemDrop : 8
GlobalGet : 4766
GlobalSet : 1777
I31Get : 40
If : 2028
Load : 263
LocalGet : 10162
LocalSet : 3451
Loop : 720
MemoryCopy : 6
MemoryFill : 12
MemoryInit : 13
Nop : 531
Pop : 168
RefAs : 9573
RefCast : 666
RefEq : 216
RefFunc : 1946
RefGetDesc : 79
RefI31 : 601
RefIsNull : 44
RefNull : 11542
RefTest : 50
Return : 330
SIMDExtract : 115
SIMDLoad : 2
[total] : 75366
[vars] : 3103
ArrayCmpxchg : 10
ArrayCopy : 32
ArrayFill : 31
ArrayGet : 260
ArrayLen : 385
ArrayNew : 852
ArrayNewFixed : 245
ArrayRMW : 13
ArraySet : 49
AtomicCmpxchg : 25
AtomicFence : 34
AtomicNotify : 8
AtomicRMW : 38
AtomicWait : 9
Binary : 2533
Block : 4754
BrOn : 426
Break : 756
Call : 572
CallIndirect : 117
CallRef : 120
Const : 9328
ContBind : 2
ContNew : 64
DataDrop : 13
Drop : 625
ElemDrop : 11
GlobalGet : 3637
GlobalSet : 1344
I31Get : 61
If : 1641
Load : 193
LocalGet : 10090
LocalSet : 2824
Loop : 575
MemoryCopy : 9
MemoryFill : 10
MemoryInit : 6
Nop : 480
Pop : 126
RefAs : 8103
RefCast : 461
RefEq : 169
RefFunc : 1479
RefGetDesc : 50
RefI31 : 518
RefIsNull : 50
RefNull : 7999
RefTest : 48
Return : 230
SIMDExtract : 106
SIMDLoad : 1
SIMDReplace : 3
SIMDShuffle : 4
SIMDTernary : 4
Select : 270
Store : 94
StringConcat : 2
StringConst : 425
StringEncode : 45
StringEq : 53
StringMeasure : 52
StringNew : 3
StringSliceWTF : 2
StringWTF16Get : 56
StructCmpxchg : 33
StructGet : 449
StructNew : 11929
StructRMW : 38
StructSet : 47
Switch : 6
TableSet : 56
Throw : 76
ThrowRef : 8
Try : 350
TryTable : 394
TupleExtract : 225
TupleMake : 273
Unary : 1657
Unreachable : 916
SIMDShift : 1
SIMDShuffle : 3
SIMDTernary : 1
Select : 231
Store : 103
StringConcat : 1
StringConst : 281
StringEncode : 42
StringEq : 30
StringMeasure : 40
StringNew : 2
StringSliceWTF : 1
StringWTF16Get : 46
StructCmpxchg : 38
StructGet : 327
StructNew : 9582
StructRMW : 41
StructSet : 42
Switch : 3
TableGet : 4
TableSet : 42
Throw : 57
ThrowRef : 3
Try : 274
TryTable : 316
TupleExtract : 155
TupleMake : 135
Unary : 1319
Unreachable : 698
WideIntAddSub : 13
WideIntMul : 9
WideIntMul : 10
Loading