This is a virtual machine that runs DWARF call frame instructions.
Functions
fn rowColumns(self: VirtualMachine, row: Row) []Column
Return a slice backed by the row’s non-CFA columns
fn runTo(self: *VirtualMachine, allocator: std.mem.Allocator, pc: u64, cie: dwarf.CommonInformationEntry, fde: dwarf.FrameDescriptionEntry, addr_size_bytes: u8, endian: std.builtin.Endian) !Row
Runs the CIE instructions, then the FDE instructions. Execution halts once the …
Runs the CIE instructions, then the FDE instructions. Execution halts once the row that corresponds to
pc
is known, and the row is returned.fn runToNative(self: *VirtualMachine, allocator: std.mem.Allocator, pc: u64, cie: dwarf.CommonInformationEntry, fde: dwarf.FrameDescriptionEntry) !Row
No documentation provided.
fn step(self: *VirtualMachine, allocator: std.mem.Allocator, cie: dwarf.CommonInformationEntry, is_initial: bool, instruction: Instruction) !Row
Executes a single instruction. If this instruction is from the CIE, `is_initial…
Executes a single instruction. If this instruction is from the CIE,
is_initial
should be set. Returns the value ofcurrent_row
before executing this instruction.