diff options
author | Pavel Labath <pavel@labath.sk> | 2025-08-08 08:22:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-08 08:22:08 +0200 |
commit | a82ca1b5603a4ed9598b784f703d908f32e970b8 (patch) | |
tree | 43603cc55607f364b2b030361d0a2fe814b3dbda /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | eccc6e22f81141691542f5dd5bbb7996e446a44f (diff) | |
download | llvm-a82ca1b5603a4ed9598b784f703d908f32e970b8.zip llvm-a82ca1b5603a4ed9598b784f703d908f32e970b8.tar.gz llvm-a82ca1b5603a4ed9598b784f703d908f32e970b8.tar.bz2 |
[Object] Parsing and dumping of SFrame Frame Row Entries (#151301)
The trickiest part here is that the FREs have a variable size, in two
(or three?) dimensions:
- the size of the StartAddress field. This determined by the FDE they
are in, so it is uniform across all FREs in one FDE.
- the number and sizes of offsets following the FRE. This can be
different for each FRE.
While vending this information through a template API would be possible,
I believe such an approach would be very unwieldy, and it would still
require a sequential scan through the FRE list. This is why I'm
implementing this by reading the data into a common data structure using
the fallible iterator pattern.
For more information about the SFrame unwind format, see the
[specification](https://sourceware.org/binutils/wiki/sframe) and the
related
[RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions