alexcrichton opened PR #4739 from meta-v8
to main
:
This commit aims to improve the support for the new "meta" differential
fuzzer added in #4515 by ensuring that all existing differential fuzzing
is migrated to this new fuzzer. This PR includes features such as:
- The V8 differential execution is migrated to the new framework.
Config::set_differential_config
no longer force-disables wasm
features, instead allowing them to be enabled as per the fuzz input.
DiffInstance::{hash, hash}
was replaced with
DiffInstance::get_{memory,global}
to allow more fine-grained
assertions.Support for
FuncRef
andExternRef
have been added toDiffValue
andDiffValueType
. For now though generating an arbitrary
ExternRef
andFuncRef
simply generates a null value.Arbitrary
DiffValue::{F32,F64}
values are guaranteed to use
canonical NaN representations to fix an issue with v8 where with the
v8 engine we can't communicate non-canonical NaN values through JS.
DiffEngine::evaluate
allows "successful failure" for cases where
engines can't support that particular invocation, for example v8 can't
supportv128
arguments or return values.Smoke tests were added for each engine to ensure that a simple wasm
module works at PR-time.Statistics printed from the main fuzzer now include percentage-rates
for chosen engines as well as percentage rates for styles-of-module.There's also a few small refactorings here and there but mostly just
things I saw along the way.<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
alexcrichton requested abrown for a review on PR #4739.
abrown submitted PR review.
alexcrichton updated PR #4739 from meta-v8
to main
.
alexcrichton has enabled auto merge for PR #4739.
alexcrichton merged PR #4739.
Last updated: Nov 22 2024 at 17:03 UTC