CodeEmitter

Undocumented in source.

Members

Functions

addRefTo
void addRefTo(IrIndex entity, short offset)
Undocumented in source. Be warned that the author may not have intended to support it.
addRefTo
void addRefTo(LinkIndex entityIndex, short offset)
Undocumented in source. Be warned that the author may not have intended to support it.
compileBody
void compileBody()
Undocumented in source. Be warned that the author may not have intended to support it.
compileFuncEpilog
void compileFuncEpilog()
Undocumented in source. Be warned that the author may not have intended to support it.
compileFuncProlog
void compileFuncProlog()
Undocumented in source. Be warned that the author may not have intended to support it.
compileFunction
void compileFunction(FunctionDeclNode* f)
Undocumented in source. Be warned that the author may not have intended to support it.
compileModule
void compileModule(ModuleDeclNode* mod)
Undocumented in source. Be warned that the author may not have intended to support it.
doMemToReg
void doMemToReg(IrIndex dst, MemAddress srcMem, IrArgSize argSize)
Undocumented in source. Be warned that the author may not have intended to support it.
fixJump
void fixJump(PC fixup, IrIndex targetBlock)
Undocumented in source. Be warned that the author may not have intended to support it.
fixJumps
void fixJumps()
Undocumented in source. Be warned that the author may not have intended to support it.
fix_PC_REL_32
void fix_PC_REL_32(PC fixup, PC target)
Undocumented in source. Be warned that the author may not have intended to support it.
fix_PC_REL_CUSTOM
void fix_PC_REL_CUSTOM(Imm32* offset, PC nextInstr, PC target)
Undocumented in source. Be warned that the author may not have intended to support it.
genJumpToSuccessors
void genJumpToSuccessors(IrBasicBlock fromBlock, ubyte successorBIndex, PC successorA)
Undocumented in source. Be warned that the author may not have intended to support it.
genLoad
void genLoad(IrIndex dst, IrIndex src)

Generate move from src operand to dst operand. argType describes the size of operands.

genMove
void genMove(IrIndex dst, IrIndex src)

Generate move from src operand to dst operand. Size of destination is used

genRegular
void genRegular(IrIndex dst, IrIndex src, AMD64OpRegular op, IrArgSize argSize, IrIndex instrIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
genStore
void genStore(IrIndex dst, IrIndex src, IrArgSize argSize)
Undocumented in source. Be warned that the author may not have intended to support it.
indexToRegister
Register indexToRegister(IrIndex regIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
localVarMemAddress
MemAddress localVarMemAddress(IrIndex stackSlotIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
referenceOffset
uint referenceOffset()
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

blockStarts
PC[] blockStarts;
Undocumented in source.
context
CompilationContext* context;
Undocumented in source.
fun
FunctionDeclNode* fun;
Undocumented in source.
gen
CodeGen_x86_64 gen;
Undocumented in source.
jumpFixups
PC[2][] jumpFixups;
Undocumented in source.
lir
IrFunction* lir;
Undocumented in source.
stackPointer
IrIndex stackPointer;
Undocumented in source.
stackPointerExtraOffset
int stackPointerExtraOffset;
Undocumented in source.

Meta