-
jameslahm authored
... Profiler::Remove. In Profiler::Insert and Profiler::Remove, TSAN cannot figure out that when head_ and tail_ equals, Profiler::Insert will always execute before Profiler::Remove, and tsan will report data race between buffer_[head] write and buffer_[base::Relaxed_Load(&tail_)]. This CL changes the tail_ atomic load and store memory order to gurantee that buffer_ read and write always after and before tail_ load and store, which gives tsan more constraint. Bug: v8:12838 Change-Id: I50296ffa4606b288e9ad9edc15d42f21ca1c7d2a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3626454Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#80421}
4fb91a0f