summaryrefslogtreecommitdiffhomepage
path: root/test/perf/linux/signal_benchmark.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/perf/linux/signal_benchmark.cc')
-rw-r--r--test/perf/linux/signal_benchmark.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/test/perf/linux/signal_benchmark.cc b/test/perf/linux/signal_benchmark.cc
index a6928df58..cec679191 100644
--- a/test/perf/linux/signal_benchmark.cc
+++ b/test/perf/linux/signal_benchmark.cc
@@ -43,11 +43,13 @@ void BM_FaultSignalFixup(benchmark::State& state) {
// Fault, fault, fault.
for (auto _ : state) {
- register volatile unsigned int* ptr asm("rax");
-
// Trigger the segfault.
- ptr = nullptr;
- *ptr = 0;
+ asm volatile(
+ "movq $0, %%rax\n"
+ "movq $0x77777777, (%%rax)\n"
+ :
+ :
+ : "rax");
}
}