summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2021-04-08 16:09:12 -0700
committerGitHub <noreply@github.com>2021-04-08 16:09:12 -0700
commit8e20e49a858f207e689589dfe9c056098c58eca2 (patch)
treeb86a71b2e6ee912d68b5e24f89ca69863b41e817
parent362eb18350692dd333a81a5630ee409cab3ccbe6 (diff)
downloadbinaryen-8e20e49a858f207e689589dfe9c056098c58eca2.tar.gz
binaryen-8e20e49a858f207e689589dfe9c056098c58eca2.tar.bz2
binaryen-8e20e49a858f207e689589dfe9c056098c58eca2.zip
[Wasm GC] Enable more GC fuzzing (#3788)
The fuzzer doesn't generate much GC code yet, but it does fuzz things in the test suite and adds fuzz to them. This PR allows GC when using initial content, and also in CompareVMs, both of which have been fuzzed for days locally for me with no issues.
-rwxr-xr-xscripts/fuzz_opt.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py
index b0cbef1c8..48cf9dfa3 100755
--- a/scripts/fuzz_opt.py
+++ b/scripts/fuzz_opt.py
@@ -36,7 +36,6 @@ assert sys.version_info.major == 3, 'requires Python 3!'
# parameters
# feature options that are always passed to the tools.
-# * multivalue: https://github.com/WebAssembly/binaryen/issues/2770
CONSTANT_FEATURE_OPTS = ['--all-features']
INPUT_SIZE_MIN = 1024
@@ -213,8 +212,6 @@ def pick_initial_contents():
'--disable-exception-handling',
# has not been fuzzed in general yet
'--disable-memory64',
- # has not been fuzzed in general yet
- '--disable-gc',
# DWARF is incompatible with multivalue atm; it's more important to
# fuzz multivalue since we aren't actually fuzzing DWARF here
'--strip-dwarf',
@@ -581,8 +578,12 @@ class CompareVMs(TestCaseHandler):
# NaNs can differ from wasm VMs
return not NANS
- self.vms = [BinaryenInterpreter(), D8(), D8Liftoff(), D8TurboFan(),
- Wasm2C(), Wasm2C2Wasm()]
+ self.vms = [BinaryenInterpreter(),
+ D8(),
+ D8Liftoff(),
+ D8TurboFan(),
+ Wasm2C(),
+ Wasm2C2Wasm()]
def handle_pair(self, input, before_wasm, after_wasm, opts):
before = self.run_vms(before_wasm)
@@ -616,7 +617,7 @@ class CompareVMs(TestCaseHandler):
compare(before[vm], after[vm], 'CompareVMs between before and after: ' + vm.name)
def can_run_on_feature_opts(self, feature_opts):
- return all([x in feature_opts for x in ['--disable-simd', '--disable-reference-types', '--disable-exception-handling', '--disable-multivalue', '--disable-gc']])
+ return all([x in feature_opts for x in ['--disable-simd', '--disable-exception-handling', '--disable-multivalue']])
# Check for determinism - the same command must have the same output.