mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-03-08 08:04:50 +01:00
By my estimation, these changes speed up DWARF unwinding when using the self-hosted x86_64 backend by around 7x. There are two very significant enhancements: we no longer iterate frames which don't fit in the stack trace buffer, and we cache register rules (in a fixed buffer) to avoid re-parsing and evaluating CFI instructions in most cases. Alongside this are a bunch of smaller enhancements, such as pre-caching the result of evaluating the CIE's initial instructions, avoiding re-parsing of CIEs, and big simplifications to the `Dwarf.Unwind.VirtualMachine` logic. |
||
|---|---|---|
| .. | ||
| Dwarf | ||
| SelfInfo | ||
| Coverage.zig | ||
| cpu_context.zig | ||
| Dwarf.zig | ||
| ElfFile.zig | ||
| Info.zig | ||
| no_panic.zig | ||
| Pdb.zig | ||
| SelfInfo.zig | ||
| simple_panic.zig | ||