Add another slot on the stack frame used in the dispatcher.
It is used by the profiling dispatcher to store the IA between
iterations.
git-svn-id: svn://svn.valgrind.org/vex/trunk@2208 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/pub/libvex_s390x_common.h b/pub/libvex_s390x_common.h
index f23bc9c..95efef6 100644
--- a/pub/libvex_s390x_common.h
+++ b/pub/libvex_s390x_common.h
@@ -52,6 +52,9 @@
/*--- Offsets in the stack frame allocated by the dispatcher ---*/
/*--------------------------------------------------------------*/
+/* Where the profiling dispatcher saves the r2 contents. */
+#define S390_OFFSET_SAVED_R2 160+96
+
/* Where client's FPC register is saved. */
#define S390_OFFSET_SAVED_FPC_C 160+88
@@ -67,12 +70,12 @@
/* Size of frame allocated by VG_(run_innerloop)
Need size for
8 FPRs
- + 2 GPRs (SAVED_GSP and SAVED_LR)
+ + 3 GPRs (SAVED_GSP, SAVED_LR, and SAVED_R2)
+ 2 FPCs (SAVED_FPC_C and SAVED_FPC_V).
Additionally, we need a standard frame for helper functions being called
from client code. (See figure 1-16 in zSeries ABI) */
-#define S390_INNERLOOP_FRAME_SIZE ((8+2+2)*8 + 160)
+#define S390_INNERLOOP_FRAME_SIZE ((8+3+2)*8 + 160)
/*--------------------------------------------------------------*/