On Tue, Jun 28, 2011 at 1:50 AM, malc <av1...@comtv.ru> wrote: > On Sun, 26 Jun 2011, Blue Swirl wrote: > >> Use stack instead of temp_buf array in CPUState for TCG temps. >> > > This works.
Thanks for the ack, applied. >> Signed-off-by: Blue Swirl <blauwir...@gmail.com> >> --- >> tcg/ppc/tcg-target.c | 7 +++++-- >> tcg/ppc64/tcg-target.c | 7 +++++-- >> 2 files changed, 10 insertions(+), 4 deletions(-) >> >> diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c >> index 5ab5d6d..100ef12 100644 >> --- a/tcg/ppc/tcg-target.c >> +++ b/tcg/ppc/tcg-target.c >> @@ -907,9 +907,14 @@ static void tcg_target_qemu_prologue (TCGContext *s) >> + LINKAGE_AREA_SIZE >> + TCG_STATIC_CALL_ARGS_SIZE >> + ARRAY_SIZE (tcg_target_callee_save_regs) * 4 >> + + CPU_TEMP_BUF_NLONGS * sizeof(long) >> ; >> frame_size = (frame_size + 15) & ~15; >> >> + tcg_set_frame(s, TCG_REG_CALL_STACK, frame_size >> + - CPU_TEMP_BUF_NLONGS * sizeof(long), >> + CPU_TEMP_BUF_NLONGS * sizeof(long)); >> + >> #ifdef _CALL_AIX >> { >> uint32_t addr; >> @@ -1923,6 +1928,4 @@ static void tcg_target_init(TCGContext *s) >> #endif >> >> tcg_add_target_add_op_defs(ppc_op_defs); >> - tcg_set_frame(s, TCG_AREG0, offsetof(CPUState, temp_buf), >> - CPU_TEMP_BUF_NLONGS * sizeof(long)); >> } >> diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c >> index 5f79342..6c92d84 100644 >> --- a/tcg/ppc64/tcg-target.c >> +++ b/tcg/ppc64/tcg-target.c >> @@ -875,9 +875,14 @@ static void tcg_target_qemu_prologue (TCGContext *s) >> + 8 /* TOC save area */ >> + TCG_STATIC_CALL_ARGS_SIZE >> + ARRAY_SIZE (tcg_target_callee_save_regs) * 8 >> + + CPU_TEMP_BUF_NLONGS * sizeof(long) >> ; >> frame_size = (frame_size + 15) & ~15; >> >> + tcg_set_frame(s, TCG_REG_CALL_STACK, frame_size >> + - CPU_TEMP_BUF_NLONGS * sizeof(long), >> + CPU_TEMP_BUF_NLONGS * sizeof(long)); >> + >> #ifndef __APPLE__ >> /* First emit adhoc function descriptor */ >> addr = (uint64_t) s->code_ptr + 24; >> @@ -1698,6 +1703,4 @@ static void tcg_target_init (TCGContext *s) >> tcg_regset_set_reg (s->reserved_regs, TCG_REG_R13); >> >> tcg_add_target_add_op_defs (ppc_op_defs); >> - tcg_set_frame(s, TCG_AREG0, offsetof(CPUState, temp_buf), >> - CPU_TEMP_BUF_NLONGS * sizeof(long)); >> } >> > > -- > mailto:av1...@comtv.ru >