Commit 1a5d6a53 authored by Ross McIlroy's avatar Ross McIlroy Committed by Commit Bot

[Compiler] Fix flaky tsan error for bytecode flushing.

The SFI's flags can be changed by the mutator while the concurrent marker is checking
the flags for bytecode flushing. None of the flag bits checked for bytecode flushing
are changed, however since they are in an int32 field TSAN will complain if any of the
other flags are changed while reading from another flag. Fix this by making the flags
use the RELAXED_INT32_ACCESSORS.

BUG=v8:8592,v8:8395

Change-Id: I5fbb4fd381c2b288abf0cd36eb0b8256e1929af6
Reviewed-on: https://chromium-review.googlesource.com/c/1382458Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58325}
parent 5308f83d
......@@ -106,7 +106,7 @@ UINT8_ACCESSORS(SharedFunctionInfo, expected_nof_properties,
UINT8_ACCESSORS(SharedFunctionInfo, raw_builtin_function_id, kBuiltinFunctionId)
UINT16_ACCESSORS(SharedFunctionInfo, raw_function_token_offset,
kFunctionTokenOffsetOffset)
INT_ACCESSORS(SharedFunctionInfo, flags, kFlagsOffset)
RELAXED_INT32_ACCESSORS(SharedFunctionInfo, flags, kFlagsOffset)
bool SharedFunctionInfo::HasSharedName() const {
Object* value = name_or_scope_info();
......
......@@ -420,7 +420,7 @@ class SharedFunctionInfo : public HeapObjectPtr {
inline bool HasSharedName() const;
// [flags] Bit field containing various flags about the function.
DECL_INT_ACCESSORS(flags)
DECL_INT32_ACCESSORS(flags)
// Is this function a named function expression in the source code.
DECL_BOOLEAN_ACCESSORS(is_named_expression)
......
......@@ -32,9 +32,6 @@
# forcing weak callback in asan build change break order
'debug/debug-stepin-builtin-callback': [['asan == True or msan == True', SKIP]],
# BUG(v8:8592)
'debug/lazy-deopt-then-flush-bytecode': [SKIP],
}], # ALWAYS
##############################################################################
......
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