[numfuzz] Extend numfuzz with more interrupt-budget fuzzing

This also fuzzes values of --budget-for-feedback-vector-allocation.
Boundaries for the intervals are the default values in the code.

No-Try: true
Bug: v8:12434
Change-Id: I0a9d7421408a51c717c2edfe0e67c459f0a2834c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3303792
Reviewed-by: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: Almothana Athamneh <almuthanna@chromium.org>
Commit-Queue: Almothana Athamneh <almuthanna@chromium.org>
Auto-Submit: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78111}
This commit is contained in:
Michael Achenbach 2021-11-26 15:37:01 +01:00 committed by V8 LUCI CQ
parent 485ed82788
commit 7b1b62e56e

View File

@ -270,10 +270,16 @@ class CompactionFuzzer(Fuzzer):
class InterruptBudgetFuzzer(Fuzzer):
def create_flags_generator(self, rng, test, analysis_value):
while True:
# Higher likelyhood for --no-lazy-feedback-allocation since some
# code paths for --interrupt-budget are tied to it.
flags = rng.choice([], [], ['--no-lazy-feedback-allocation'])
yield flags + ['--interrupt-budget=%d' % rng.randint(0, 135168)]
# Half with half without lazy feedback allocation. The first flag
# overwrites potential flag negations from the extra flags list.
flag1 = rng.choice(
'--lazy-feedback-allocation', '--no-lazy-feedback-allocation')
# For most code paths, only one of the flags below has a meaning
# based on the flag above.
flag2 = '--interrupt-budget=%d' % rng.randint(0, 135168)
flag3 = '--budget-for-feedback-vector-allocation=%d' % rng.randint(0, 940)
yield [flag1, flag2, flag3]
class StackSizeFuzzer(Fuzzer):