C++26 Hazard Pointers
Hazard pointers 一直在我的 todo list 上,但是一直没有时间和机会深入研究。最近听了 Maged M. Michael 关于 hazard pointers 的分享,正好趁此机会学习下 hazard pointers,整理成一篇博客。
Hazard pointers 一直在我的 todo list 上,但是一直没有时间和机会深入研究。最近听了 Maged M. Michael 关于 hazard pointers 的分享,正好趁此机会学习下 hazard pointers,整理成一篇博客。
本文基于 llvm-project 的 release/19.x 分支版本,分析 atomics 在 Clang/LLVM 中的实现,包括 __atomic_*
builtins、C11 _Atomic
、C++11 std::atomic
等。
本文分析 LLVM 中 Branch Probability Analysis 的实现。
本文是笔者对 C++ memory model 中 atomic operations 和 memory order 的理解。
在上一篇文章 SLP Vectorizer: Part 1 - Implementation in LLVM 中我们学习 LLVM 的 SLP Vectorizer 实现,本文基于 SPEC CPU 2017 来评估 SLP Vectorizer 的优化效果。
本文分析 LLVM 的 SLP Vectorizer 实现。
本文通过一个 inline 函数的例子学习 COMDAT 的作用。
笔者在 Linux/AArch64 环境下使用 HWASAN 时,遇到一 “relocation R_AARCH64_ADR_PREL_PG_HI21 out of range” 链接错误,在分析解决该链接错误过程中对 linker relocation 以及 HWASAN 都有了更深的理解,因此将分析解决该链接错误的过程梳理总结形成此文。
本文深入分析了 HWASAN (HardWare-assisted AddressSanitizer) 检测内存错误的原理。
本文深入分析了 AddressSanitizer Allocator 的实现。