Beispiel #1
0
static guint8*
emit_save_saved_regs (guint8 *code, int pos)
{
	int i;

	for (i = 31; i >= 14; --i) {
		pos -= sizeof (gdouble);
		ppc_stfd (code, i, pos, ppc_sp);
	}
	pos -= sizeof (gpointer) * MONO_SAVED_GREGS;
	ppc_store_multiple_regs (code, ppc_r13, pos, ppc_sp);

	return code;
}
Beispiel #2
0
static guint8*
emit_save_saved_regs (guint8 *code, int pos)
{
	int i;

	for (i = MONO_MAX_FREGS - 1; i >= MONO_PPC_FIRST_SAVED_FREG; --i) {
		pos -= sizeof (gdouble);
		ppc_stfd (code, i, pos, ppc_sp);
	}
	pos -= (MONO_MAX_FREGS - MONO_SAVED_FREGS) * sizeof (gdouble);
	pos -= sizeof (gpointer) * MONO_SAVED_GREGS;
	ppc_store_multiple_regs (code, MONO_PPC_FIRST_SAVED_GREG, pos, ppc_sp);

	return code;
}