From ff754d19946de43bfd2fc04adcd430459cac1f16 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Fri, 24 Feb 2017 15:01:41 +0000 Subject: Fix initialization of OptimizingCompilerStats. This is a follow-up to https://android-review.googlesource.com/343265 where we replaced Atomic<> with std::atomic<> because Atomic<> was hiding std::atomic<>::operator=(). However, while the default constructor of Atomic<> initializes the value, the default constructor of std::atomic<> does not. Test: m valgrind-test-art-host Bug: 34053922 Change-Id: Iff2b38a7b28ee2d114991b60e3c40a33425bfc48 --- compiler/optimizing/optimizing_compiler_stats.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/optimizing_compiler_stats.h') diff --git a/compiler/optimizing/optimizing_compiler_stats.h b/compiler/optimizing/optimizing_compiler_stats.h index f7f6a14e9d..7240d40d7f 100644 --- a/compiler/optimizing/optimizing_compiler_stats.h +++ b/compiler/optimizing/optimizing_compiler_stats.h @@ -73,7 +73,10 @@ enum MethodCompilationStat { class OptimizingCompilerStats { public: - OptimizingCompilerStats() {} + OptimizingCompilerStats() { + // The std::atomic<> default constructor leaves values uninitialized, so initialize them now. + Reset(); + } void RecordStat(MethodCompilationStat stat, uint32_t count = 1) { compile_stats_[stat] += count; -- cgit v1.2.3-59-g8ed1b