From 43d8b52785ec01e1f8067d7997e316457a1953ff Mon Sep 17 00:00:00 2001 From: Sai Charan Marrivada Date: Tue, 14 Jul 2026 17:13:26 +0530 Subject: [PATCH 1/2] Use volatile instead of benchmark::DoNotOptimize as GCC optimizes away the write --- absl/debugging/stacktrace_benchmark.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/absl/debugging/stacktrace_benchmark.cc b/absl/debugging/stacktrace_benchmark.cc index eef9850a116..7507119dabe 100644 --- a/absl/debugging/stacktrace_benchmark.cc +++ b/absl/debugging/stacktrace_benchmark.cc @@ -44,8 +44,8 @@ ABSL_ATTRIBUTE_NOINLINE void func(benchmark::State& state, int x, int depth) { // Touch a significant amount of memory so that the stack is likely to be // not cached in the L1 cache. state.PauseTiming(); - int* arr = new int[kCacheSize]; - for (int i = 0; i < kCacheSize; ++i) benchmark::DoNotOptimize(arr[i] = 100); + volatile int* arr = new int[kCacheSize]; + for (int i = 0; i < kCacheSize; ++i) a[i] = 100; delete[] arr; state.ResumeTiming(); benchmark::DoNotOptimize(absl::GetStackTrace(pcs, depth, 0)); From c9b860408013009aece035948c2a260057f20c30 Mon Sep 17 00:00:00 2001 From: SaiCharanMarrivada <92221348+SaiCharanMarrivada@users.noreply.github.com> Date: Wed, 15 Jul 2026 04:22:36 +0530 Subject: [PATCH 2/2] Fix typo --- absl/debugging/stacktrace_benchmark.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/absl/debugging/stacktrace_benchmark.cc b/absl/debugging/stacktrace_benchmark.cc index 7507119dabe..9a39077ed77 100644 --- a/absl/debugging/stacktrace_benchmark.cc +++ b/absl/debugging/stacktrace_benchmark.cc @@ -45,7 +45,7 @@ ABSL_ATTRIBUTE_NOINLINE void func(benchmark::State& state, int x, int depth) { // not cached in the L1 cache. state.PauseTiming(); volatile int* arr = new int[kCacheSize]; - for (int i = 0; i < kCacheSize; ++i) a[i] = 100; + for (int i = 0; i < kCacheSize; ++i) arr[i] = 100; delete[] arr; state.ResumeTiming(); benchmark::DoNotOptimize(absl::GetStackTrace(pcs, depth, 0));