zig/lib/std/debug
mlugg 156cd8f678
std.debug: significantly speed up capturing stack traces
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.
2025-09-30 13:44:56 +01:00
..
Dwarf std.debug: significantly speed up capturing stack traces 2025-09-30 13:44:56 +01:00
SelfInfo std.debug: significantly speed up capturing stack traces 2025-09-30 13:44:56 +01:00
Coverage.zig std: fix debug.Info and debug.Coverage 2025-09-30 13:44:52 +01:00
cpu_context.zig std: clarify cpu_context register order rationale 2025-09-30 13:44:56 +01:00
Dwarf.zig std.debug: significantly speed up capturing stack traces 2025-09-30 13:44:56 +01:00
ElfFile.zig std: fix 32-bit build and some unsafe casts 2025-09-30 13:44:53 +01:00
Info.zig std: replace debug.Dwarf.ElfModule with debug.ElfFile 2025-09-30 13:44:52 +01:00
no_panic.zig std: remove old panic handlers after zig1.wasm update 2025-06-01 12:10:57 +01:00
Pdb.zig std: work around crash parsing LLVM PDB 2025-09-30 13:44:55 +01:00
SelfInfo.zig std.debug: significantly speed up capturing stack traces 2025-09-30 13:44:56 +01:00
simple_panic.zig std.io: move getStdIn, getStdOut, getStdErr functions to fs.File 2025-07-07 22:43:51 -07:00