Fix caller Contexts off-by-one
blue42u opened this issue · comments
Jonathon Anderson commented
Run records call stack unwinds in the CCT, which on (some? all?) architectures refers to the sequence of return addresses rather than the sequence of call instructions. Prof2 when parsing the CCT treats them as call addresses, causing weird calling contexts to appear in long (and often C++) callchains.
This will require an investigation into how unwinds turn into CCTs in Run.
Discussed with @jmellorcrummey