コード例 #1
0
ファイル: compiler.cpp プロジェクト: blank-black/lcc
void Compiler::EmitFunction(FunctionSymbol p)
{
	BBlock bb;
	int varsize;

	Export((Symbol)p);
	DefineLabel((Symbol)p);

	LayoutFrame(p, 2);
	/*
		pushl %ebp
		movl %esp, %ebp
	*/
	varsize = p->locals.size();
	EmitPrologue(varsize);

	bb = p->entryBB;
	while (true)
	{
		if (bb->ref != 0) DefineLabel(bb->sym);

		EmitBBlock(bb);

		if (bb != p->exitBB)
			bb = bb->next;
		else
			break;

	}
	/*
		movl %sebp, %esp
		popl %ebp
	*/
	EmitEpilogue(varsize);
}
コード例 #2
0
ファイル: ViewStubs.cpp プロジェクト: HaikuArchives/Sequitur
void ArpTextControl::LayoutView()
{
	SetDivider(BodyFrame().left - LayoutFrame().left);
}
コード例 #3
0
ファイル: ArpIntControl.cpp プロジェクト: tgkokk/Sequitur
void ArpIntControl::Layout()
{
	inherited::Layout();
	SetDivider(BodyFrame().left - LayoutFrame().left);
}
コード例 #4
0
ファイル: ViewStubs.cpp プロジェクト: HaikuArchives/Sequitur
void ArpMenuField::LayoutView()
{
	SetDivider(BodyFrame().left - LayoutFrame().left);
}