AnyPS5/core/libs
AlxcBTW 428963d3b3 feat(agc): write the worker sampler's stacks as collapsed stacks
APS5_SAMPLE_WORKER=<file> now also writes <file stem>.collapsed.txt: one
"frame;...;frame count" line per distinct stack of queue worker 0, root
first, frames as module+0xRVA, which speedscope.app and flamegraph.pl
open. Walks go up to 64 frames, and nothing allocates while the worker is
suspended.

The libraries are built with -fno-asynchronous-unwind-tables, so most of
their functions have no .pdata entry, only a DWARF record in .ehfram, and a
walk ended at the first such frame. The worker's walk now steps those
frames through their record, with the CIE/FDE decoding and the call frame
instructions of libc's unwinder, which move from Unwind.cpp into its
header unchanged. A module is indexed after the worker resumes, the first
time a walk meets it, and every register the step restores is read inside
the worker's stack. The process sampler (APS5_SAMPLE_THREADS) keeps its 12
frames through .pdata.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:23:11 +02:00
..
nid
…
prx feat(agc): write the worker sampler's stacks as collapsed stacks 2026-10-12 21:23:11 +02:00
tests Merge pull request #4544 from poonasor/feat/libkernel-module-info2 2026-10-13 07:33:08 +13:00
CMakeLists.txt Merge pull request #3967 from MarcZX100/codex/carry-sjlj-mingw-guard 2026-10-13 02:33:33 +13:00
HitLog.hpp
…
SceShaders.hpp
…
SceTypes.hpp fix(savedata): fill the search infos of sceSaveDataDirNameSearch 2026-10-12 02:18:33 +01:00