fn Gen.new(mod &ssa.Module) &Gen
fn MachOObject.new() &MachOObject
struct Gen {
mod &ssa.Module
mut:
macho &MachOObject
stack_map map[int]int
alloca_offsets map[int]int
stack_size int
curr_offset int
block_offsets map[int]int
pending_labels map[int][]int
reg_map map[int]int
used_regs []int
next_blk int
}
fn (mut g Gen) write_file(path string)
struct MachOObject {
pub mut:
text_data []u8
str_data []u8
data_data []u8
relocs []RelocationInfo
symbols []Symbol
str_table []u8
}
fn (MachOObject) add_symbol #
fn (mut m MachOObject) add_symbol(name string, addr u64, is_ext bool, sect u8) int
fn (MachOObject) add_undefined #
fn (mut m MachOObject) add_undefined(name string) int
fn (MachOObject) add_reloc #
fn (mut m MachOObject) add_reloc(addr int, sym_idx int, typ int, pcrel bool)
fn (mut m MachOObject) write(path string)