[dict-tracking] Disable --concurrent-inlining under dict-tracking

Disable --concurrent-inlining when v8_dict_property_const_tracking is
enabled, since the latter doesn't support the former. Add statusfile
variables to mark this as an incompatible flag, and otherwise disable it
via flags.

Change-Id: Ie2e7dac6f4a1ddc97e7e7f4d4d2c77e638e216a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3229565
Auto-Submit: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#77455}
This commit is contained in:
Leszek Swirski 2021-10-19 12:09:41 +02:00 committed by V8 LUCI CQ
parent c6388cd94f
commit b7acd5100b
7 changed files with 15 additions and 4 deletions

View File

@ -2210,6 +2210,7 @@ action("v8_dump_build_config") {
"v8_enable_virtual_memory_cage=$v8_enable_virtual_memory_cage", "v8_enable_virtual_memory_cage=$v8_enable_virtual_memory_cage",
"v8_enable_third_party_heap=$v8_enable_third_party_heap", "v8_enable_third_party_heap=$v8_enable_third_party_heap",
"v8_enable_webassembly=$v8_enable_webassembly", "v8_enable_webassembly=$v8_enable_webassembly",
"v8_dict_property_const_tracking=$v8_dict_property_const_tracking",
"v8_control_flow_integrity=$v8_control_flow_integrity", "v8_control_flow_integrity=$v8_control_flow_integrity",
"v8_target_cpu=\"$v8_target_cpu\"", "v8_target_cpu=\"$v8_target_cpu\"",
] ]

View File

@ -745,7 +745,7 @@ DEFINE_INT(concurrent_recompilation_queue_length, 8,
"the length of the concurrent compilation queue") "the length of the concurrent compilation queue")
DEFINE_INT(concurrent_recompilation_delay, 0, DEFINE_INT(concurrent_recompilation_delay, 0,
"artificial compilation delay in ms") "artificial compilation delay in ms")
DEFINE_BOOL(concurrent_inlining, true, DEFINE_BOOL(concurrent_inlining, !V8_DICT_PROPERTY_CONST_TRACKING_BOOL,
"run optimizing compiler's inlining phase on a separate thread") "run optimizing compiler's inlining phase on a separate thread")
DEFINE_BOOL( DEFINE_BOOL(
stress_concurrent_inlining, false, stress_concurrent_inlining, false,

View File

@ -195,6 +195,7 @@ class BuildConfig(object):
self.virtual_memory_cage = build_config['v8_enable_virtual_memory_cage'] self.virtual_memory_cage = build_config['v8_enable_virtual_memory_cage']
self.third_party_heap = build_config['v8_enable_third_party_heap'] self.third_party_heap = build_config['v8_enable_third_party_heap']
self.webassembly = build_config['v8_enable_webassembly'] self.webassembly = build_config['v8_enable_webassembly']
self.dict_property_const_tracking = build_config['v8_dict_property_const_tracking']
# Export only for MIPS target # Export only for MIPS target
if self.arch in ['mips', 'mipsel', 'mips64', 'mips64el']: if self.arch in ['mips', 'mipsel', 'mips64', 'mips64el']:
self.mips_arch_variant = build_config['mips_arch_variant'] self.mips_arch_variant = build_config['mips_arch_variant']
@ -242,6 +243,8 @@ class BuildConfig(object):
detected_options.append('third_party_heap') detected_options.append('third_party_heap')
if self.webassembly: if self.webassembly:
detected_options.append('webassembly') detected_options.append('webassembly')
if self.dict_property_const_tracking:
detected_options.append('dict_property_const_tracking')
return '\n'.join(detected_options) return '\n'.join(detected_options)
@ -734,6 +737,7 @@ class BaseTestRunner(object):
"pointer_compression": self.build_config.pointer_compression, "pointer_compression": self.build_config.pointer_compression,
"pointer_compression_shared_cage": self.build_config.pointer_compression_shared_cage, "pointer_compression_shared_cage": self.build_config.pointer_compression_shared_cage,
"virtual_memory_cage": self.build_config.virtual_memory_cage, "virtual_memory_cage": self.build_config.virtual_memory_cage,
"dict_property_const_tracking": self.build_config.dict_property_const_tracking,
} }
def _runner_flags(self): def _runner_flags(self):

View File

@ -93,6 +93,9 @@ INCOMPATIBLE_FLAGS_PER_BUILD_VARIABLE = {
"--concurrent-recompilation", "--concurrent-recompilation",
"--stress-concurrent-allocation", "--stress-concurrent-allocation",
"--stress-concurrent-inlining"], "--stress-concurrent-inlining"],
"dict_property_const_tracking": [
"--concurrent-inlining",
"--stress-concurrent-inlining"],
} }
# Flags that lead to a contradiction when a certain extra-flag is present. # Flags that lead to a contradiction when a certain extra-flag is present.

View File

@ -26,5 +26,6 @@
"v8_control_flow_integrity": false, "v8_control_flow_integrity": false,
"v8_enable_single_generation": false, "v8_enable_single_generation": false,
"v8_enable_third_party_heap": false, "v8_enable_third_party_heap": false,
"v8_enable_webassembly": true "v8_enable_webassembly": true,
"v8_dict_property_const_tracking": false
} }

View File

@ -26,5 +26,6 @@
"v8_control_flow_integrity": false, "v8_control_flow_integrity": false,
"v8_enable_single_generation": false, "v8_enable_single_generation": false,
"v8_enable_third_party_heap": false, "v8_enable_third_party_heap": false,
"v8_enable_webassembly": true "v8_enable_webassembly": true,
"v8_dict_property_const_tracking": false
} }

View File

@ -26,5 +26,6 @@
"v8_control_flow_integrity": false, "v8_control_flow_integrity": false,
"v8_enable_single_generation": false, "v8_enable_single_generation": false,
"v8_enable_third_party_heap": false, "v8_enable_third_party_heap": false,
"v8_enable_webassembly": true "v8_enable_webassembly": true,
"v8_dict_property_const_tracking": false
} }