Patchwork [17/18] TCG/s390: use stack for TCG temps

login
register
mail settings
Submitter Blue Swirl
Date May 28, 2011, 10:08 a.m.
Message ID <BANLkTim4z040_+tsWbcW=+EymRxgDSBb6A@mail.gmail.com>
Download mbox | patch
Permalink /patch/97792/
State New
Headers show

Comments

Blue Swirl - May 28, 2011, 10:08 a.m.
Use stack instead of temp_buf array in CPUState for TCG temps.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 tcg/s390/tcg-target.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

Patch

diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index e112052..c063509 100644
--- a/tcg/s390/tcg-target.c
+++ b/tcg/s390/tcg-target.c
@@ -2291,8 +2291,6 @@  static void tcg_target_init(TCGContext *s)
     tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);

     tcg_add_target_add_op_defs(s390_op_defs);
-    tcg_set_frame(s, TCG_AREG0, offsetof(CPUState, temp_buf),
-                  CPU_TEMP_BUF_NLONGS * sizeof(long));
 }

 static void tcg_target_qemu_prologue(TCGContext *s)
@@ -2302,8 +2300,11 @@  static void tcg_target_qemu_prologue(TCGContext *s)
                  TCG_REG_CALL_STACK, 48);

     /* aghi %r15,-160 (stack frame) */
-    tcg_out_insn(s, RI, AGHI, TCG_REG_CALL_STACK, -160);
+    tcg_out_insn(s, RI, AGHI, TCG_REG_CALL_STACK,
+                 -(160 + CPU_TEMP_BUF_NLONGS * sizeof(long)));

+    tcg_set_frame(s, TCG_REG_CALL_STACK, 160,
+                  CPU_TEMP_BUF_NLONGS * sizeof(long));
     if (GUEST_BASE >= 0x80000) {
         tcg_out_movi(s, TCG_TYPE_PTR, TCG_GUEST_BASE_REG, GUEST_BASE);
         tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);