v8/tools
Tobias Tebbi 0832a1093d Reland^5 "[flags] warn about contradictory flags"
This is a reland of 2000aea58a
Changes compared to last reland:
- Add rule in variants.py for --enable_experimental_regexp_engine.
- Make sure --abort-on-contradictory-flags works as well as --fuzzing
  to disable the checking for fuzzers, including for d8 flags.

Original change's description:
> Reland^4 "[flags] warn about contradictory flags"
>
> This is a reland of 0ba115e6a9
> Changes compared to last reland:
> - Fix Python code trying to write to expected_outcomes, which is now a
>   computed property.
> - Fix remaining place in d8.cc that ignored the --fuzzing flag.
> - Expect flag contradictions for --cache in code_serializer variant.
>
> Original change's description:
> > Reland^3 "[flags] warn about contradictory flags"
> >
> > Changes:
> > - Also allow second parameter influenced by --cache to be reassigned.
> > - Fix --stress-opt to only --always-opt in the last iteration as before.
> >
> > Original change's description:
> > > Reland^2 "[flags] warn about contradictory flags"
> > >
> > > This is a reland of d8f8a7e210
> > > Change compared to last reland:
> > > - Do not check for d8 flag contradictions in the presence of --fuzzing
> > > - Allow identical re-declaration of --cache=*
> > >
> > > Original change's description:
> > > > Reland "[flags] warn about contradictory flags"
> > > >
> > > > This is a reland of b8f9166664
> > > > Difference to previous CL: Additional functionality to specify
> > > > incompatible flags based on GN variables and extra-flags, used
> > > > to fix the issues that came up on the waterfall.
> > > >
> > > > This also changes the rules regarding repeated flags: While
> > > > explicitly repeated flags are allowed for boolean values as long
> > > > as they are identical, repeated flags or explicit flags in the
> > > > presence of an active implication are disallowed for non-boolean
> > > > flags. The latter simplifies specifying conflict rules in
> > > > variants.py. Otherwise a rule like
> > > >
> > > > INCOMPATIBLE_FLAGS_PER_EXTRA_FLAG = {
> > > >   "--gc-interval=*": ["--gc-interval=*"],
> > > > }
> > > >
> > > > wouldn't work because specifying the same GC interval twice
> > > > wouldn't actually count as a conflict. This was an issue with
> > > > test/mjsunit/wasm/gc-buffer.js, which specifies
> > > > --gc-interval=500 exactly like the extra flag by the stress bot.
> > > >
> > > > Also, this now expands contradictory flags checking to d8 flags
> > > > for consistency.
> > > >
> > > > Original change's description:
> > > > > [flags] warn about contradictory flags
> > > > >
> > > > > Design Doc: https://docs.google.com/document/d/1lkvu8crkK7Ei39qjkPCFijpNyxWXsOktG9GB-7K34jM/
> > > > >
> > > > > Bug: v8:10577
> > > > > Change-Id: Ib9cfdffa401c48c895bf31caed5ee03545beddab
> > > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154792
> > > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > > > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > > > > Reviewed-by: Georg Neis <neis@chromium.org>
> > > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#68168}
> > > >
> > > > Bug: v8:10577
> > > > Change-Id: I268e590ee18a535b13dee14eeb15ddd0a9ee8341
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2235115
> > > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > > Reviewed-by: Tamer Tas <tmrts@chromium.org>
> > > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > > Reviewed-by: Georg Neis <neis@chromium.org>
> > > > Cr-Commit-Position: refs/heads/master@{#68989}
> > >
> > > Bug: v8:10577
> > > Change-Id: I31d2794d4f9ff630f3444210100c64d67d881276
> > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339464
> > > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#69339}
> >
> > Bug: v8:10577
> > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
> > Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
> > Change-Id: I4a69dc57a102782cb453144323e3752ac8278624
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352770
> > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> > Reviewed-by: Clemens Backes <clemensb@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#69433}
>
> Change-Id: Ib6d2aeb495210f581ac671221c265df58e8e5e70
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2398640
> Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Clemens Backes <clemensb@chromium.org>
> Reviewed-by: Tamer Tas <tmrts@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#69954}

Bug: v8:10577
TBR: clemensb@chromium.org, tmrts@chromium.org
Change-Id: Iab2d32cdcc2648934fc52255ccf3ae3ec9ca4d9b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416386
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#70000}
2020-09-18 15:45:00 +00:00
..
blink_tests [test] Remove obsolete blink test skips 2019-01-18 12:30:23 +00:00
cfi [cfi] Use inclusive terminology 2020-07-28 05:57:41 +00:00
clusterfuzz Open source js-fuzzer 2020-07-31 11:34:39 +00:00
cppgc cppgc: mirror: Add copybara and migration scripts 2020-07-29 11:53:33 +00:00
debug_helper [cpu-profiler] Ensure sampled thread has Isolate lock under Windows 2020-09-16 16:17:39 +00:00
dev [tools] Add scripts for compile_commands.json and VSCode 2020-07-28 14:26:26 +00:00
gcmole [gcmole] Upload a new version supporting DisallowGarbageCollection 2020-09-15 11:18:22 +00:00
generate_shim_headers
heap-stats Reland "[Intl] Sync Intl.Segmenter to latest version" 2020-07-30 17:32:20 +00:00
ignition Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
jsfunfuzz
link_clicker.extension
mb Use luci-go isolate client in mb.py 2020-03-23 14:41:45 +00:00
memory
msan
ninja
node Remove android_tools deps for v8 repo 2019-07-03 17:59:11 +00:00
perf
profview [profview] Use requestAnimationFrame to schedule a render 2019-01-15 13:08:46 +00:00
profviz [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
release [presubmit] Clean up insensitive terms 2020-07-27 18:05:48 +00:00
sanitizers [respect] Stop using "blacklist" in several python tools 2020-07-10 19:11:36 +00:00
snapshot Fix a Python3 compatibility issue in asm_to_inline_asm.py. 2020-08-03 22:21:55 +00:00
system-analyzer [tools][system-analyzer] Clarify tool Instructions 2020-09-17 06:02:32 +00:00
testrunner Reland^5 "[flags] warn about contradictory flags" 2020-09-18 15:45:00 +00:00
toolchain
torque [torque] fix formatting of derefence and addressof operators 2020-07-16 10:17:35 +00:00
tracing/proto-converter [tracing] Add the proto to json converter for trace events 2019-03-25 08:56:18 +00:00
turbolizer [turbolizer] Display live range uses 2020-06-02 15:04:11 +00:00
ubsan [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
unittests [test] Print less in verbose mode 2020-09-16 15:52:00 +00:00
v8.xcodeproj
v8windbg [v8windbg] Show bitset name of compiler type 2020-06-23 19:36:36 +00:00
valgrind/asan
vim [vim] Update CrBuild to use autoninja. 2019-05-27 06:27:29 +00:00
visual_studio
wasm Reland "[wasm-simd] Stage SIMD" 2020-09-10 16:04:35 +00:00
wasm-compilation-hints [wasm] Update OWNERS 2020-01-08 14:56:06 +00:00
zone-stats [zone-stats] Show all zones in a filter 2020-09-09 16:16:11 +00:00
__init__.py
adb-d8.py Remove JS natives support, step 3 2019-10-22 07:48:05 +00:00
android-build.sh
android-ll-prof.sh
android-run.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
android-sync.sh [preparser] deprecate stand-alone "preparser" test-suite 2019-11-20 08:52:59 +00:00
arguments.js
avg.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
bash-completion.sh Move remaining files in src/ 2019-05-24 18:24:36 +00:00
bigint-tester.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
BUILD.gn [tools] Add v8windbg, a WinDbg extension for V8 2020-02-18 19:16:18 +00:00
callstats_groups.py [tools] Add grouping to generate-runtime-callstats.py 2019-12-12 14:52:05 +00:00
callstats-from-telemetry.sh [tools] Add script to convert telemetry json files for callstats.html 2020-07-01 09:31:16 +00:00
callstats.html [tools] Add script to convert telemetry json files for callstats.html 2020-07-01 09:31:16 +00:00
callstats.py [callstats] relocate the vpython imports 2020-02-27 14:45:56 +00:00
callstats.py.vpython
check-inline-includes.sh
check-static-initializers.sh [logging] Systematically emit CodeCreateEvents for builtins 2019-05-23 11:55:36 +00:00
check-unused-bailouts.sh
check-unused-symbols.sh
codemap.js [profiler] fix 4 bugs in --prof/linux-tick-processor 2020-02-06 10:38:34 +00:00
collect_deprecation_stats.sh
compare_torque_output.py [torque] Add support for torque output comparison 2020-01-21 14:39:04 +00:00
compare-table-gen.js
consarray.js
cpu.sh
cross_build_gcc.sh
csvparser.js [tools] Harden and speed up map-processor 2020-04-01 10:34:04 +00:00
deprecation_stats.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
DEPS
detect-builtins.js
disasm.py
draw_instruction_graph.sh
dump-cpp.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
dumpcpp-driver.js [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
dumpcpp.js
eval_gc_nvp.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
eval_gc_time.sh
find_depot_tools.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
find-commit-for-patch.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
freebsd-tick-processor
fuzz-harness.sh
gc_nvp_common.py
gc-nvp-to-csv.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gc-nvp-trace-processor.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gdb-v8-support.py [tools] Fix gdb redirect command 2020-03-03 10:33:33 +00:00
gdbinit [gdbinit] Slightly increase dcheck stack walk limit 2020-01-23 11:27:28 +00:00
gen-inlining-tests.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
gen-keywords-gen-h.py
gen-postmortem-metadata.py Update postmortem metadata generation script 2020-05-15 10:13:49 +00:00
generate-builtins-tests.py [respect] Stop using "blacklist" in several python tools 2020-07-10 19:11:36 +00:00
generate-header-include-checks.py Change all TODOs from clemensh to clemensb 2019-09-26 10:25:27 +00:00
generate-runtime-call-stats.py [tools] Fix retention of json files in RCS script 2020-03-26 12:07:56 +00:00
generate-ten-powers.scm
get_landmines.py [landmines] Force clean build to fix Misc V8 Linux gcc 2019-06-06 21:52:11 +00:00
grokdump.py Make grokdump.py work on Windows 2019-10-18 11:13:55 +00:00
ic-explorer.html [tools][system-analyzer] Support time logging for IC Events 2020-07-14 17:13:33 +00:00
ic-processor
ic-processor-driver.js
ic-processor.js [tools][system-analyzer] Support time logging for IC Events 2020-07-14 17:13:33 +00:00
index.html [tools] Add link to v8.dev tools and margin fix 2020-07-24 07:21:05 +00:00
inspect-d8.js Improve JavaScript debugging in d8 2019-09-30 11:19:49 +00:00
linux-tick-processor
ll_prof.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
lldb_commands.py [tools] Add error handling to no_arg_cmd 2020-06-02 08:01:16 +00:00
locs.py [tools] Use ThreadPoolExecutor with reasonable job count default 2019-04-08 10:41:46 +00:00
logreader.js [tools] Harden and speed up map-processor 2020-04-01 10:34:04 +00:00
mac-nm
mac-tick-processor
Makefile.tags
map-processor
map-processor-driver.js
map-processor.html [tools] Map search bar feature added, map id changed from int to string 2020-06-18 11:09:21 +00:00
map-processor.js [tools] Map search bar feature added, map id changed from int to string 2020-06-18 11:09:21 +00:00
objdump-v8
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
parse-processor
parse-processor-driver.js
parse-processor.html
parse-processor.js
perf-compare.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
plot-timer-events
predictable_wrapper.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
PRESUBMIT.py [presubmit] Clean up insensitive terms 2020-07-27 18:05:48 +00:00
profile_view.js
profile.js [tools][system-analyzer] Add Source Code Panel 2020-08-28 15:20:21 +00:00
regexp-sequences.py Preparing v8 to use with python3 2019-10-18 13:10:56 +00:00
run_perf.py [testrunner] Prevent erroneous overriding of signal handlers 2020-01-16 14:44:14 +00:00
run-clang-tidy.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
run-llprof.sh
run-num-fuzzer.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
run-perf.sh [cleanup] Replace underscore by minus in d8 flags 2019-04-03 12:32:08 +00:00
run-tests.py [Py3] Get python scripts in tools closer to Py3 2020-06-29 16:55:16 +00:00
run-wasm-api-tests.py [wasm-c-api] Roll 7865f7d: Expose possible traps during Instance::make 2019-08-23 09:46:29 +00:00
run.py Show failure codes in run.py 2020-06-17 17:16:22 +00:00
shell-utils.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
SourceMap.js Fix two overflow cases in SourceMap VLQ decoding 2020-01-27 09:05:25 +00:00
splaytree.js
stats-viewer.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
test262-results-parser.js
tick-processor.html [Tools] Add support to tickprocessor to symbolize libraries embedded in APKs 2019-05-28 16:18:47 +00:00
tickprocessor-driver.js [profiler] fix 4 bugs in --prof/linux-tick-processor 2020-02-06 10:38:34 +00:00
tickprocessor.js [profiler] fix 4 bugs in --prof/linux-tick-processor 2020-02-06 10:38:34 +00:00
trace-maps-processor.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
try_perf.py [tools] Add support for --confidence-level flag to tools/try_perf.py 2019-06-14 12:33:49 +00:00
turbolizer-perf.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
update-object-macros-undef.py Preparing v8 to use with python3 /tools 2019-02-19 09:12:07 +00:00
v8_presubmit.py Revert "[presubmit] Add JS formatting for tools/system-analyzer" 2020-07-17 10:33:40 +00:00
v8heapconst.py [snapshot] Reland recent de/serializer related changes 2020-09-18 10:14:59 +00:00
whitespace.txt Revert "Whitespace to trigger builders" 2020-08-19 22:00:39 +00:00
windbg.js [heap] Add base class for LargeObjectSpaces 2019-10-25 09:22:57 +00:00
windows-tick-processor.bat