From e88ac7295fa298c336cb57d65bdcc72b45dbc0b0 Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Sat, 26 Jun 2021 07:34:43 -0700 Subject: [PATCH] [perf] Fix a data race in the PerfJITEventListener Concurrent JIT compilation + PerfJITEventListener triggers tsan error Reviewed By: cota Differential Revision: https://reviews.llvm.org/D104977 --- llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp b/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp index d4c715c..4a236e1 100644 --- a/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp +++ b/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp @@ -284,6 +284,9 @@ void PerfJITEventListener::notifyObjectLoaded( NotifyCode(Name, *AddrOrErr, Size); } + // avoid races with writes + std::lock_guard Guard(Mutex); + Dumpstream->flush(); } -- 2.7.4