diff --git a/src/flags/flag-definitions.h b/src/flags/flag-definitions.h index 7241181ae4..981af0b483 100644 --- a/src/flags/flag-definitions.h +++ b/src/flags/flag-definitions.h @@ -1979,6 +1979,12 @@ DEFINE_BOOL( "Fuzzers use this flag to signal that they are ... fuzzing. This causes " "intrinsics to fail silently (e.g. return undefined) on invalid usage.") +// When fuzzing, always compile functions twice and ensure that the generated +// bytecode is the same. This can help find bugs such as crbug.com/1394403 as it +// avoids the need for bytecode aging to kick in to trigger the recomplication. +DEFINE_WEAK_NEG_IMPLICATION(fuzzing, lazy) +DEFINE_WEAK_IMPLICATION(fuzzing, stress_lazy_source_positions) + #if defined(V8_OS_AIX) && defined(COMPONENT_BUILD) // FreezeFlags relies on mprotect() method, which does not work by default on // shared mem: https://www.ibm.com/docs/en/aix/7.2?topic=m-mprotect-subroutine diff --git a/tools/clusterfuzz/trials/clusterfuzz_trials_config.json b/tools/clusterfuzz/trials/clusterfuzz_trials_config.json index 1d800890e4..e4a8bf291c 100644 --- a/tools/clusterfuzz/trials/clusterfuzz_trials_config.json +++ b/tools/clusterfuzz/trials/clusterfuzz_trials_config.json @@ -37,5 +37,7 @@ {"app_args": "--stress-scavenge=100", "app_name": "d8", "probability": 0.05}, {"app_args": "--turbo-instruction-scheduling", "app_name": "d8", "probability": 0.1}, {"app_args": "--turbo-stress-instruction-scheduling", "app_name": "d8", "probability": 0.1}, - {"app_args": "--stress-wasm-code-gc", "app_name": "d8", "probability": 0.1} + {"app_args": "--stress-wasm-code-gc", "app_name": "d8", "probability": 0.1}, + {"app_args": "--lazy", "app_name": "d8", "probability": 0.1}, + {"app_args": "--no-stress-lazy-source-positions", "app_name": "d8", "probability": 0.1} ]