struct CompactUnwindEncoding [src]

Fields

value: packed union { x86_64: packed union { frame: packed struct(u24) { reg4: u3, reg3: u3, reg2: u3, reg1: u3, reg0: u3, unused: u1 = 0, frame_offset: u8, }, frameless: packed struct(u24) { stack_reg_permutation: u10, stack_reg_count: u3, stack: packed union { direct: packed struct(u11) { _: u3, stack_size: u8, }, indirect: packed struct(u11) { stack_adjust: u3, sub_offset: u8, }, }, }, dwarf: u24, }, arm64: packed union { frame: packed struct(u24) { x_reg_pairs: packed struct(u5) { x19_x20: u1, x21_x22: u1, x23_x24: u1, x25_x26: u1, x27_x28: u1, }, d_reg_pairs: packed struct(u4) { d8_d9: u1, d10_d11: u1, d12_d13: u1, d14_d15: u1, }, _: u15, }, frameless: packed struct(u24) { _: u12 = 0, stack_size: u12, }, dwarf: u24, }, }
mode: packed union { x86_64: UNWIND_X86_64_MODE, arm64: UNWIND_ARM64_MODE, }
personality_index: u2
has_lsda: u1
start: u1

Source

pub const CompactUnwindEncoding = packed struct(u32) { value: packed union { x86_64: packed union { frame: packed struct(u24) { reg4: u3, reg3: u3, reg2: u3, reg1: u3, reg0: u3, unused: u1 = 0, frame_offset: u8, }, frameless: packed struct(u24) { stack_reg_permutation: u10, stack_reg_count: u3, stack: packed union { direct: packed struct(u11) { _: u3, stack_size: u8, }, indirect: packed struct(u11) { stack_adjust: u3, sub_offset: u8, }, }, }, dwarf: u24, }, arm64: packed union { frame: packed struct(u24) { x_reg_pairs: packed struct(u5) { x19_x20: u1, x21_x22: u1, x23_x24: u1, x25_x26: u1, x27_x28: u1, }, d_reg_pairs: packed struct(u4) { d8_d9: u1, d10_d11: u1, d12_d13: u1, d14_d15: u1, }, _: u15, }, frameless: packed struct(u24) { _: u12 = 0, stack_size: u12, }, dwarf: u24, }, }, mode: packed union { x86_64: UNWIND_X86_64_MODE, arm64: UNWIND_ARM64_MODE, }, personality_index: u2, has_lsda: u1, start: u1, }