|
microfmt
Zero-allocation C++ formatting for constrained environments
|
Decoder for the inline unwind bytecode packed in an EXIDX word, writing restored register states directly via register_context_ref. More...
#include <arm_exidx_decoder.hpp>
Static Public Member Functions | |
| static RELOCO_UNSAFE_BUFFER_USAGE bool | execute_bytecode (address_space_ref space, uint32_t unwind_word, uintptr_t &io_sp, uintptr_t &, register_context_ref reg_ctx) noexcept |
| Executes up to 3 inline unwind bytes from an exidx/extab word. | |
Decoder for the inline unwind bytecode packed in an EXIDX word, writing restored register states directly via register_context_ref.
|
inlinestaticnoexcept |
Executes up to 3 inline unwind bytes from an exidx/extab word.
| space | Address space to read stack values from. |
| unwind_word | Descriptor word (personality + inline bytecode). |
| io_sp | In/out: virtual stack pointer. |
| io_pc | In/out: program counter. |
| reg_ctx | Target register context handle to write recovered registers into. |
true when the bytecode was applied; false when a personality routine requires an external .ARM.extab table read.