summaryrefslogtreecommitdiff
path: root/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2023-04-17 09:24:01 -0700
committerGitHub <noreply@github.com>2023-04-17 09:24:01 -0700
commit55a5fcec460ad402c55e37d1da0f278404c64dda (patch)
tree10c8c0e706b5d02198f1a43240220dfca36a4f87 /test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
parentd0621e5820b4ce1b72907f5cdb3c68487ce20c60 (diff)
downloadbinaryen-55a5fcec460ad402c55e37d1da0f278404c64dda.tar.gz
binaryen-55a5fcec460ad402c55e37d1da0f278404c64dda.tar.bz2
binaryen-55a5fcec460ad402c55e37d1da0f278404c64dda.zip
[Wasm GC] Improve GC operation coverage by using locals more (#5661)
When we emit e.g. a struct.get's reference, this PR makes us prefer a non-nullable value, and even to reuse an existing local if possible. By doing that we reduce the risk of a trap, and also by using locals we end up testing operations on the same data, like this: x = new A(); x.a = .. foo(x.a) In contrast, without this PR each of those x. uses might be new A().
Diffstat (limited to 'test/passes/translate-to-fuzz_all-features_metrics_noprint.txt')
-rw-r--r--test/passes/translate-to-fuzz_all-features_metrics_noprint.txt63
1 files changed, 27 insertions, 36 deletions
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 92b1fc834..e9a93af72 100644
--- a/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
+++ b/test/passes/translate-to-fuzz_all-features_metrics_noprint.txt
@@ -1,45 +1,36 @@
total
[exports] : 2
- [funcs] : 10
+ [funcs] : 7
[globals] : 16
[imports] : 5
[memories] : 1
[memory-data] : 20
- [table-data] : 5
+ [table-data] : 1
[tables] : 1
[tags] : 2
- [total] : 500
- [vars] : 9
- ArrayNew : 5
- AtomicCmpxchg : 1
- AtomicFence : 2
- AtomicNotify : 2
- Binary : 66
- Block : 49
- Break : 5
- Call : 4
- Const : 121
- Drop : 1
- GlobalGet : 25
- GlobalSet : 24
- I31New : 2
- If : 16
- Load : 17
+ [total] : 350
+ [vars] : 10
+ ArrayLen : 1
+ ArrayNew : 2
+ ArraySet : 1
+ Binary : 61
+ Block : 27
+ Const : 87
+ GlobalGet : 16
+ GlobalSet : 16
+ I31New : 1
+ If : 11
+ Load : 18
LocalGet : 40
- LocalSet : 28
- Loop : 3
- Nop : 9
- RefAs : 2
- RefEq : 2
- RefFunc : 10
- RefNull : 8
- RefTest : 1
- Return : 2
- SIMDExtract : 2
- Select : 4
- StructNew : 8
- StructSet : 1
- TupleExtract : 1
- TupleMake : 8
- Unary : 16
- Unreachable : 15
+ LocalSet : 21
+ Loop : 2
+ Nop : 1
+ RefFunc : 6
+ RefIsNull : 1
+ RefNull : 4
+ Return : 4
+ Store : 1
+ StructNew : 2
+ TupleMake : 7
+ Unary : 9
+ Unreachable : 11