STATIC void GenWriteFrameSize(void) { unsigned size = -CurFxnMinLocalOfs; int pfx = size ? ' ' : ';'; printf2("\t%csub\t%%sp, %%sp, %10u\n", pfx, size); // 10 chars are enough for 32-bit unsigned ints GenSaveRestoreRegs(1); }
STATIC void GenFxnEpilog(void) { GenSaveRestoreRegs(0); GenPrintInstr2Operands(Tr32InstrMov, 0, Tr32OpRegSp, 0, Tr32OpRegBp, 0); GenPrintInstr1Operand(Tr32InstrPop, 0, Tr32OpRegBp, 0); GenPrintInstrNoOperand(Tr32InstrRet, 0); }
STATIC void GenFxnProlog2(void) { GenGrowStack(-CurFxnMinLocalOfs); GenSaveRestoreRegs(1); }