Commit cecc666f authored by Michael Achenbach's avatar Michael Achenbach Committed by V8 LUCI CQ

[build] Add V8-specific dcheck_always_on

This makes the V8 dcheck control independent of Chromium's and
prepares switching Chromium's default behavior without affecting V8
developers or builders.

Preparation for: https://crrev.com/c/2893204

Bug: chromium:1225701
Change-Id: I520b96019b04196f4420716ff3500ebd6c21666f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3038528Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75827}
parent 69b1e0ec
......@@ -33,6 +33,10 @@ declare_args() {
# Dynamically set an additional dependency from v8/custom_deps.
v8_custom_deps = ""
# Separate control for dchecks in V8. Defaults to Chromium's behavior if
# built with Chromium.
v8_dcheck_always_on = build_with_chromium && dcheck_always_on
# Turns on all V8 debug features. Enables running V8 in a pseudo debug mode
# within a release Chrome.
v8_enable_debugging_features = is_debug
......@@ -358,7 +362,7 @@ if (v8_enable_trace_maps == "") {
v8_enable_trace_maps = v8_enable_debugging_features
}
if (v8_enable_test_features == "") {
v8_enable_test_features = v8_enable_debugging_features || dcheck_always_on
v8_enable_test_features = v8_enable_debugging_features || v8_dcheck_always_on
}
if (v8_enable_v8_checks == "") {
v8_enable_v8_checks = v8_enable_debugging_features
......@@ -1141,7 +1145,7 @@ config("toolchain") {
if (v8_enable_slow_dchecks) {
defines += [ "ENABLE_SLOW_DCHECKS" ]
}
} else if (dcheck_always_on) {
} else if (v8_dcheck_always_on) {
defines += [ "DEBUG" ]
}
......@@ -1986,7 +1990,6 @@ action("v8_dump_build_config") {
args = [
rebase_path("$root_out_dir/v8_build_config.json", root_build_dir),
"current_cpu=\"$current_cpu\"",
"dcheck_always_on=$dcheck_always_on",
"is_android=$is_android",
"is_asan=$is_asan",
"is_cfi=$is_cfi",
......@@ -2000,6 +2003,7 @@ action("v8_dump_build_config") {
"is_ubsan_vptr=$is_ubsan_vptr",
"target_cpu=\"$target_cpu\"",
"v8_current_cpu=\"$v8_current_cpu\"",
"v8_dcheck_always_on=$v8_dcheck_always_on",
"v8_enable_atomic_marking_state=$v8_enable_atomic_marking_state",
"v8_enable_atomic_object_field_writes=" +
"$v8_enable_atomic_object_field_writes",
......
......@@ -396,7 +396,7 @@
# TODO(v8:v7703): Make pointer compression bots testing non pointer
# compression mode while pointer compression is temporarily enabled
# on arm64
'release_bot', 'simulate_arm64', 'dcheck_always_on',
'release_bot', 'simulate_arm64', 'v8_dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_disable_pointer_compression'],
'release_simulate_arm64_msan': [
'release_bot', 'simulate_arm64', 'msan'],
......@@ -469,7 +469,7 @@
'release_x64_asan_no_lsan_verify_heap': [
'release_bot', 'x64', 'asan', 'v8_verify_heap'],
'release_x64_asan_no_lsan_verify_heap_dchecks': [
'release_bot', 'x64', 'asan', 'dcheck_always_on',
'release_bot', 'x64', 'asan', 'v8_dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_verify_heap'],
'release_x64_asan_symbolized_verify_heap': [
'release_bot', 'x64', 'asan', 'lsan', 'symbolized',
......@@ -479,7 +479,7 @@
'release_x64_cfi_clusterfuzz': [
'release_bot', 'x64', 'cfi_clusterfuzz'],
'release_x64_fuzzilli': [
'release_bot', 'x64', 'dcheck_always_on', 'v8_enable_slow_dchecks',
'release_bot', 'x64', 'v8_dcheck_always_on', 'v8_enable_slow_dchecks',
'v8_verify_heap', 'v8_verify_csa', 'fuzzilli'],
'release_x64_msvc': [
'release_bot_no_goma', 'x64', 'minimal_symbols', 'msvc'],
......@@ -501,7 +501,7 @@
'release_x64_minimal_symbols': [
'release_bot', 'x64', 'minimal_symbols'],
'release_x64_pointer_compression': [
'release_bot', 'x64', 'dcheck_always_on', 'v8_enable_slow_dchecks',
'release_bot', 'x64', 'v8_dcheck_always_on', 'v8_enable_slow_dchecks',
'v8_disable_pointer_compression'],
'release_x64_pointer_compression_without_dchecks': [
'release_bot', 'x64', 'v8_disable_pointer_compression'],
......@@ -526,7 +526,7 @@
'release_x64_shared_verify_heap': [
'release_bot', 'x64', 'shared', 'v8_verify_heap'],
'release_x64_verify_csa': [
'release_bot', 'x64', 'dcheck_always_on',
'release_bot', 'x64', 'v8_dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_verify_csa'],
'release_x64_webassembly_disabled': [
'release_bot', 'x64', 'webassembly_disabled'],
......@@ -610,7 +610,7 @@
'release_x86_trybot': [
'release_trybot', 'x86'],
'release_x86_verify_csa': [
'release_bot', 'x86', 'dcheck_always_on',
'release_bot', 'x86', 'v8_dcheck_always_on',
'v8_enable_slow_dchecks', 'v8_verify_csa'],
# Official configs for x86.
......@@ -664,8 +664,8 @@
'gn_args': 'v8_code_coverage=true',
},
'dcheck_always_on': {
'gn_args': 'dcheck_always_on=true',
'v8_dcheck_always_on': {
'gn_args': 'v8_dcheck_always_on=true',
},
'debug': {
......@@ -799,7 +799,7 @@
},
'release_trybot': {
'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'],
'mixins': ['release_bot', 'minimal_symbols', 'v8_dcheck_always_on'],
},
'official': {
......
......@@ -29,12 +29,12 @@
}], # ALWAYS
##############################################################################
['mode != debug or dcheck_always_on', {
['mode != debug or v8_dcheck_always_on', {
# Investigating flaky tests: https://crbug.com/v8/10876. Enable only on pure debug.
'debugger/pause-on-oom': [SKIP],
'debugger/pause-on-oom-wide': [SKIP],
'debugger/pause-on-oom-extrawide': [SKIP],
}], # 'mode != debug or dcheck_always_on'
}], # 'mode != debug or v8_dcheck_always_on'
##############################################################################
['system == android', {
......
......@@ -103,7 +103,7 @@
##############################################################################
# Tests verifying CHECK and ASSERT.
'verify-check-false': [FAIL, NO_VARIANTS],
'verify-assert-false': [NO_VARIANTS, ['mode == release and dcheck_always_on == False', PASS], ['mode == debug', FAIL]],
'verify-assert-false': [NO_VARIANTS, ['mode == release and v8_dcheck_always_on == False', PASS], ['mode == debug', FAIL]],
##############################################################################
# Tests with different versions for release and debug.
......@@ -138,15 +138,15 @@
'regress/regress-655573': [PASS, SLOW],
'regress/regress-1200351': [PASS, SLOW],
'regress/regress-crbug-808192': [PASS, SLOW, NO_VARIANTS, ['arch not in (ia32, x64)', SKIP], ['tsan', SKIP]],
'regress/regress-crbug-918301': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['(arch == arm or arch == arm64) and simulator_run', SKIP]],
'regress/regress-crbug-918301': [PASS, SLOW, NO_VARIANTS, ['mode != release or v8_dcheck_always_on', SKIP], ['(arch == arm or arch == arm64) and simulator_run', SKIP]],
'regress/wasm/regress-810973': [PASS, SLOW],
'sealed-array-reduce': [PASS, SLOW],
'string-replace-gc': [PASS, SLOW],
'wasm/embenchen/*': [PASS, SLOW],
'wasm/futex': [PASS, SLOW],
'wasm/unreachable-validation': [PASS, SLOW],
'wasm/atomics-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]],
'wasm/atomics64-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]],
'wasm/atomics-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or v8_dcheck_always_on', SKIP], ['tsan', SKIP]],
'wasm/atomics64-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or v8_dcheck_always_on', SKIP], ['tsan', SKIP]],
'wasm/compare-exchange-stress': [PASS, SLOW, NO_VARIANTS],
'wasm/compare-exchange64-stress': [PASS, SLOW, NO_VARIANTS],
......
......@@ -70,10 +70,10 @@
# Too slow on debug simulators.
'dfg-inline-function-dot-caller': [SKIP],
}], # 'mode == debug and simulator_run'
['dcheck_always_on == True and (arch == arm or arch == arm64)', {
['v8_dcheck_always_on == True and (arch == arm or arch == arm64)', {
# Doesn't work with gcc 4.6 on arm or arm64 for some reason.
'reentrant-caching': [SKIP],
}], # 'dcheck_always_on == True and (arch == arm or arch == arm64)'
}], # 'v8_dcheck_always_on == True and (arch == arm or arch == arm64)'
['arch == mips', {
# Too slow for mips big-endian boards on bots (no FPU).
'dfg-int-overflow-in-loop': [SKIP],
......
......@@ -173,7 +173,7 @@ class BuildConfig(object):
self.control_flow_integrity = build_config['v8_control_flow_integrity']
self.concurrent_marking = build_config['v8_enable_concurrent_marking']
self.single_generation = build_config['v8_enable_single_generation']
self.dcheck_always_on = build_config['dcheck_always_on']
self.v8_dcheck_always_on = build_config['v8_dcheck_always_on']
self.gcov_coverage = build_config['is_gcov_coverage']
self.is_android = build_config['is_android']
self.is_clang = build_config['is_clang']
......@@ -212,8 +212,8 @@ class BuildConfig(object):
detected_options.append('cfi_vptr')
if self.control_flow_integrity:
detected_options.append('control_flow_integrity')
if self.dcheck_always_on:
detected_options.append('dcheck_always_on')
if self.v8_dcheck_always_on:
detected_options.append('v8_dcheck_always_on')
if self.gcov_coverage:
detected_options.append('gcov_coverage')
if self.msan:
......@@ -495,7 +495,7 @@ class BaseTestRunner(object):
def _process_default_options(self, options):
if self.build_config.is_debug:
self.mode_options = DEBUG_MODE
elif self.build_config.dcheck_always_on:
elif self.build_config.v8_dcheck_always_on:
self.mode_options = TRY_RELEASE_MODE
else:
self.mode_options = RELEASE_MODE
......@@ -683,7 +683,7 @@ class BaseTestRunner(object):
"control_flow_integrity": self.build_config.control_flow_integrity,
"concurrent_marking": self.build_config.concurrent_marking,
"single_generation": self.build_config.single_generation,
"dcheck_always_on": self.build_config.dcheck_always_on,
"v8_dcheck_always_on": self.build_config.v8_dcheck_always_on,
"deopt_fuzzer": False,
"endurance_fuzzer": False,
"gc_fuzzer": False,
......
......@@ -345,7 +345,7 @@ class SystemTest(unittest.TestCase):
"""
with temp_base() as basedir:
override_build_config(
basedir, dcheck_always_on=True, is_asan=True, is_cfi=True,
basedir, v8_dcheck_always_on=True, is_asan=True, is_cfi=True,
is_msan=True, is_tsan=True, is_ubsan_vptr=True, target_cpu='x86',
v8_enable_i18n_support=False, v8_target_cpu='x86',
v8_enable_verify_csa=False, v8_enable_lite_mode=False,
......@@ -361,7 +361,7 @@ class SystemTest(unittest.TestCase):
'>>> Autodetected:\n'
'asan\n'
'cfi_vptr\n'
'dcheck_always_on\n'
'v8_dcheck_always_on\n'
'msan\n'
'no_i18n\n'
'tsan\n'
......
{
"current_cpu": "x64",
"dcheck_always_on": false,
"v8_dcheck_always_on": false,
"is_android": false,
"is_asan": false,
"is_cfi": false,
......
{
"current_cpu": "x64",
"dcheck_always_on": false,
"v8_dcheck_always_on": false,
"is_android": false,
"is_asan": false,
"is_cfi": false,
......
{
"current_cpu": "x64",
"dcheck_always_on": false,
"v8_dcheck_always_on": false,
"is_android": false,
"is_asan": false,
"is_cfi": false,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment