128, 144 and 160.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5640
CHECK_NOT(VG_(details).copyright_author, NULL);
CHECK_NOT(VG_(details).bug_reports_to, NULL);
- if ( (VG_(tdict).track_new_mem_stack_4 ||
- VG_(tdict).track_new_mem_stack_8 ||
- VG_(tdict).track_new_mem_stack_12 ||
- VG_(tdict).track_new_mem_stack_16 ||
- VG_(tdict).track_new_mem_stack_32 ) &&
+ if ( (VG_(tdict).track_new_mem_stack_4 ||
+ VG_(tdict).track_new_mem_stack_8 ||
+ VG_(tdict).track_new_mem_stack_12 ||
+ VG_(tdict).track_new_mem_stack_16 ||
+ VG_(tdict).track_new_mem_stack_32 ||
+ VG_(tdict).track_new_mem_stack_112 ||
+ VG_(tdict).track_new_mem_stack_128 ||
+ VG_(tdict).track_new_mem_stack_144 ||
+ VG_(tdict).track_new_mem_stack_160 ) &&
! VG_(tdict).track_new_mem_stack)
{
*failmsg = "Tool error: one of the specialised 'new_mem_stack_n'\n"
return False;
}
- if ( (VG_(tdict).track_die_mem_stack_4 ||
- VG_(tdict).track_die_mem_stack_8 ||
- VG_(tdict).track_die_mem_stack_12 ||
- VG_(tdict).track_die_mem_stack_16 ||
- VG_(tdict).track_die_mem_stack_32 ) &&
+ if ( (VG_(tdict).track_die_mem_stack_4 ||
+ VG_(tdict).track_die_mem_stack_8 ||
+ VG_(tdict).track_die_mem_stack_12 ||
+ VG_(tdict).track_die_mem_stack_16 ||
+ VG_(tdict).track_die_mem_stack_32 ||
+ VG_(tdict).track_die_mem_stack_112 ||
+ VG_(tdict).track_die_mem_stack_128 ||
+ VG_(tdict).track_die_mem_stack_144 ||
+ VG_(tdict).track_die_mem_stack_160 ) &&
! VG_(tdict).track_die_mem_stack)
{
*failmsg = "Tool error: one of the specialised 'die_mem_stack_n'\n"
DEF2(track_new_mem_stack_12, Addr)
DEF2(track_new_mem_stack_16, Addr)
DEF2(track_new_mem_stack_32, Addr)
+DEF2(track_new_mem_stack_112, Addr)
+DEF2(track_new_mem_stack_128, Addr)
+DEF2(track_new_mem_stack_144, Addr)
+DEF2(track_new_mem_stack_160, Addr)
DEF (track_new_mem_stack, Addr, SizeT)
DEF2(track_die_mem_stack_4, Addr)
DEF2(track_die_mem_stack_12, Addr)
DEF2(track_die_mem_stack_16, Addr)
DEF2(track_die_mem_stack_32, Addr)
+DEF2(track_die_mem_stack_112, Addr)
+DEF2(track_die_mem_stack_128, Addr)
+DEF2(track_die_mem_stack_144, Addr)
+DEF2(track_die_mem_stack_160, Addr)
DEF (track_die_mem_stack, Addr, SizeT)
DEF(track_ban_mem_stack, Addr, SizeT)
static Bool need_to_handle_SP_assignment(void)
{
- return ( VG_(tdict).track_new_mem_stack_4 ||
- VG_(tdict).track_die_mem_stack_4 ||
- VG_(tdict).track_new_mem_stack_8 ||
- VG_(tdict).track_die_mem_stack_8 ||
- VG_(tdict).track_new_mem_stack_12 ||
- VG_(tdict).track_die_mem_stack_12 ||
- VG_(tdict).track_new_mem_stack_16 ||
- VG_(tdict).track_die_mem_stack_16 ||
- VG_(tdict).track_new_mem_stack_32 ||
- VG_(tdict).track_die_mem_stack_32 ||
- VG_(tdict).track_new_mem_stack ||
- VG_(tdict).track_die_mem_stack );
+ return ( VG_(tdict).track_new_mem_stack_4 ||
+ VG_(tdict).track_die_mem_stack_4 ||
+ VG_(tdict).track_new_mem_stack_8 ||
+ VG_(tdict).track_die_mem_stack_8 ||
+ VG_(tdict).track_new_mem_stack_12 ||
+ VG_(tdict).track_die_mem_stack_12 ||
+ VG_(tdict).track_new_mem_stack_16 ||
+ VG_(tdict).track_die_mem_stack_16 ||
+ VG_(tdict).track_new_mem_stack_32 ||
+ VG_(tdict).track_die_mem_stack_32 ||
+ VG_(tdict).track_new_mem_stack_112 ||
+ VG_(tdict).track_die_mem_stack_112 ||
+ VG_(tdict).track_new_mem_stack_128 ||
+ VG_(tdict).track_die_mem_stack_128 ||
+ VG_(tdict).track_new_mem_stack_144 ||
+ VG_(tdict).track_die_mem_stack_144 ||
+ VG_(tdict).track_new_mem_stack_160 ||
+ VG_(tdict).track_die_mem_stack_160 ||
+ VG_(tdict).track_new_mem_stack ||
+ VG_(tdict).track_die_mem_stack );
}
// - The SP aliases are held in an array which is used as a circular buffer.
if (get_SP_delta(st->Ist.Put.data->Iex.Tmp.tmp, &delta)) {
IRTemp tttmp = st->Ist.Put.data->Iex.Tmp.tmp;
switch (delta) {
- case 0: addStmtToIRBB(bb,st); continue;
- case 4: DO(die, 4, tttmp); addStmtToIRBB(bb,st); continue;
- case -4: DO(new, 4, tttmp); addStmtToIRBB(bb,st); continue;
- case 8: DO(die, 8, tttmp); addStmtToIRBB(bb,st); continue;
- case -8: DO(new, 8, tttmp); addStmtToIRBB(bb,st); continue;
- case 12: DO(die, 12, tttmp); addStmtToIRBB(bb,st); continue;
- case -12: DO(new, 12, tttmp); addStmtToIRBB(bb,st); continue;
- case 16: DO(die, 16, tttmp); addStmtToIRBB(bb,st); continue;
- case -16: DO(new, 16, tttmp); addStmtToIRBB(bb,st); continue;
- case 32: DO(die, 32, tttmp); addStmtToIRBB(bb,st); continue;
- case -32: DO(new, 32, tttmp); addStmtToIRBB(bb,st); continue;
+ case 0: addStmtToIRBB(bb,st); continue;
+ case 4: DO(die, 4, tttmp); addStmtToIRBB(bb,st); continue;
+ case -4: DO(new, 4, tttmp); addStmtToIRBB(bb,st); continue;
+ case 8: DO(die, 8, tttmp); addStmtToIRBB(bb,st); continue;
+ case -8: DO(new, 8, tttmp); addStmtToIRBB(bb,st); continue;
+ case 12: DO(die, 12, tttmp); addStmtToIRBB(bb,st); continue;
+ case -12: DO(new, 12, tttmp); addStmtToIRBB(bb,st); continue;
+ case 16: DO(die, 16, tttmp); addStmtToIRBB(bb,st); continue;
+ case -16: DO(new, 16, tttmp); addStmtToIRBB(bb,st); continue;
+ case 32: DO(die, 32, tttmp); addStmtToIRBB(bb,st); continue;
+ case -32: DO(new, 32, tttmp); addStmtToIRBB(bb,st); continue;
+ case 112: DO(die, 112, tttmp); addStmtToIRBB(bb,st); continue;
+ case -112: DO(new, 112, tttmp); addStmtToIRBB(bb,st); continue;
+ case 128: DO(die, 128, tttmp); addStmtToIRBB(bb,st); continue;
+ case -128: DO(new, 128, tttmp); addStmtToIRBB(bb,st); continue;
+ case 144: DO(die, 144, tttmp); addStmtToIRBB(bb,st); continue;
+ case -144: DO(new, 144, tttmp); addStmtToIRBB(bb,st); continue;
+ case 160: DO(die, 160, tttmp); addStmtToIRBB(bb,st); continue;
+ case -160: DO(new, 160, tttmp); addStmtToIRBB(bb,st); continue;
default:
/* common values for ppc64: 144 128 160 112 176 */
n_SP_updates_generic_known++;
void (*track_die_mem_brk) (Addr, SizeT);
void (*track_die_mem_munmap) (Addr, SizeT);
- void VG_REGPARM(1) (*track_new_mem_stack_4) (Addr);
- void VG_REGPARM(1) (*track_new_mem_stack_8) (Addr);
- void VG_REGPARM(1) (*track_new_mem_stack_12)(Addr);
- void VG_REGPARM(1) (*track_new_mem_stack_16)(Addr);
- void VG_REGPARM(1) (*track_new_mem_stack_32)(Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_4) (Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_8) (Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_12) (Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_16) (Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_32) (Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_112)(Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_128)(Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_144)(Addr);
+ void VG_REGPARM(1) (*track_new_mem_stack_160)(Addr);
void (*track_new_mem_stack)(Addr, SizeT);
- void VG_REGPARM(1) (*track_die_mem_stack_4) (Addr);
- void VG_REGPARM(1) (*track_die_mem_stack_8) (Addr);
- void VG_REGPARM(1) (*track_die_mem_stack_12)(Addr);
- void VG_REGPARM(1) (*track_die_mem_stack_16)(Addr);
- void VG_REGPARM(1) (*track_die_mem_stack_32)(Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_4) (Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_8) (Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_12) (Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_16) (Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_32) (Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_112)(Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_128)(Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_144)(Addr);
+ void VG_REGPARM(1) (*track_die_mem_stack_160)(Addr);
void (*track_die_mem_stack)(Addr, SizeT);
void (*track_ban_mem_stack)(Addr, SizeT);
Nb: all the specialised ones must use the VG_REGPARM(n) attribute.
*/
-void VG_(track_new_mem_stack_4) (VG_REGPARM(1) void(*f)(Addr new_ESP));
-void VG_(track_new_mem_stack_8) (VG_REGPARM(1) void(*f)(Addr new_ESP));
-void VG_(track_new_mem_stack_12)(VG_REGPARM(1) void(*f)(Addr new_ESP));
-void VG_(track_new_mem_stack_16)(VG_REGPARM(1) void(*f)(Addr new_ESP));
-void VG_(track_new_mem_stack_32)(VG_REGPARM(1) void(*f)(Addr new_ESP));
-void VG_(track_new_mem_stack) (void(*f)(Addr a, SizeT len));
-
-void VG_(track_die_mem_stack_4) (VG_REGPARM(1) void(*f)(Addr die_ESP));
-void VG_(track_die_mem_stack_8) (VG_REGPARM(1) void(*f)(Addr die_ESP));
-void VG_(track_die_mem_stack_12)(VG_REGPARM(1) void(*f)(Addr die_ESP));
-void VG_(track_die_mem_stack_16)(VG_REGPARM(1) void(*f)(Addr die_ESP));
-void VG_(track_die_mem_stack_32)(VG_REGPARM(1) void(*f)(Addr die_ESP));
-void VG_(track_die_mem_stack) (void(*f)(Addr a, SizeT len));
+void VG_(track_new_mem_stack_4) (VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_8) (VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_12) (VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_16) (VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_32) (VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_112)(VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_128)(VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_144)(VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack_160)(VG_REGPARM(1) void(*f)(Addr new_ESP));
+void VG_(track_new_mem_stack) (void(*f)(Addr a, SizeT len));
+
+void VG_(track_die_mem_stack_4) (VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_8) (VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_12) (VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_16) (VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_32) (VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_112)(VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_128)(VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_144)(VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack_160)(VG_REGPARM(1) void(*f)(Addr die_ESP));
+void VG_(track_die_mem_stack) (void(*f)(Addr a, SizeT len));
/* Used for redzone at end of thread stacks */
void VG_(track_ban_mem_stack) (void(*f)(Addr a, SizeT len));
Bool (*is_valid_aligned_word) ( Addr )
);
-extern VG_REGPARM(1) void MAC_(new_mem_stack_4) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(die_mem_stack_4) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(new_mem_stack_8) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(die_mem_stack_8) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(new_mem_stack_12) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(die_mem_stack_12) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(new_mem_stack_16) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(die_mem_stack_16) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(new_mem_stack_32) ( Addr old_ESP );
-extern VG_REGPARM(1) void MAC_(die_mem_stack_32) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_4) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_4) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_8) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_8) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_12) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_12) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_16) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_16) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_32) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_32) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_112) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_112) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_128) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_128) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_144) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_144) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(new_mem_stack_160) ( Addr old_ESP );
+extern VG_REGPARM(1) void MAC_(die_mem_stack_160) ( Addr old_ESP );
extern void MAC_(die_mem_stack) ( Addr a, SizeT len);
extern void MAC_(new_mem_stack) ( Addr a, SizeT len);
} \
} \
\
+void VG_REGPARM(1) MAC_(new_mem_stack_112)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_112"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+8 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+16 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+24 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+32 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+40 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+48 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+56 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+64 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+72 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+80 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+88 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+96 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+104 ); \
+ } else { \
+ UNALIGNED_NEW ( -VG_STACK_REDZONE_SZB + new_SP, 112 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(die_mem_stack_112)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_112"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-8 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-16 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-24 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-32 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-40 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-48 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-56 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-64 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-72 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-80 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-88 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-96 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-104 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-112 ); \
+ } else { \
+ UNALIGNED_DIE ( -VG_STACK_REDZONE_SZB + new_SP-112, 112 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(new_mem_stack_128)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_128"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+8 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+16 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+24 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+32 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+40 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+48 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+56 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+64 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+72 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+80 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+88 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+96 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+104 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+112 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+120 ); \
+ } else { \
+ UNALIGNED_NEW ( -VG_STACK_REDZONE_SZB + new_SP, 128 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(die_mem_stack_128)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_128"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-8 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-16 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-24 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-32 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-40 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-48 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-56 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-64 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-72 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-80 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-88 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-96 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-104 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-112 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-120 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-128 ); \
+ } else { \
+ UNALIGNED_DIE ( -VG_STACK_REDZONE_SZB + new_SP-128, 128 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(new_mem_stack_144)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_144"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+8 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+16 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+24 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+32 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+40 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+48 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+56 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+64 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+72 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+80 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+88 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+96 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+104 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+112 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+120 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+128 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+136 ); \
+ } else { \
+ UNALIGNED_NEW ( -VG_STACK_REDZONE_SZB + new_SP, 144 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(die_mem_stack_144)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_144"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-8 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-16 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-24 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-32 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-40 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-48 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-56 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-64 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-72 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-80 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-88 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-96 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-104 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-112 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-120 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-128 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-136 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-144 ); \
+ } else { \
+ UNALIGNED_DIE ( -VG_STACK_REDZONE_SZB + new_SP-144, 144 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(new_mem_stack_160)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_160"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+8 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+16 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+24 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+32 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+40 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+48 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+56 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+64 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+72 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+80 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+88 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+96 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+104 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+112 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+120 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+128 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+136 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+144 ); \
+ ALIGNED8_NEW ( -VG_STACK_REDZONE_SZB + new_SP+152 ); \
+ } else { \
+ UNALIGNED_NEW ( -VG_STACK_REDZONE_SZB + new_SP, 160 ); \
+ } \
+} \
+ \
+void VG_REGPARM(1) MAC_(die_mem_stack_160)(Addr new_SP) \
+{ \
+ PROF_EVENT(114, "new_mem_stack_160"); \
+ if (VG_IS_8_ALIGNED(new_SP)) { \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-8 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-16 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-24 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-32 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-40 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-48 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-56 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-64 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-72 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-80 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-88 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-96 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-104 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-112 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-120 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-128 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-136 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-144 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-152 ); \
+ ALIGNED8_DIE ( -VG_STACK_REDZONE_SZB + new_SP-160 ); \
+ } else { \
+ UNALIGNED_DIE ( -VG_STACK_REDZONE_SZB + new_SP-160, 160 ); \
+ } \
+} \
+ \
void MAC_(new_mem_stack) ( Addr a, SizeT len ) \
{ \
PROF_EVENT(115, "new_mem_stack"); \
VG_(track_die_mem_brk) ( & mc_make_noaccess );
VG_(track_die_mem_munmap) ( & mc_make_noaccess );
- VG_(track_new_mem_stack_4) ( & MAC_(new_mem_stack_4) );
- VG_(track_new_mem_stack_8) ( & MAC_(new_mem_stack_8) );
- VG_(track_new_mem_stack_12) ( & MAC_(new_mem_stack_12) );
- VG_(track_new_mem_stack_16) ( & MAC_(new_mem_stack_16) );
- VG_(track_new_mem_stack_32) ( & MAC_(new_mem_stack_32) );
- VG_(track_new_mem_stack) ( & MAC_(new_mem_stack) );
-
- VG_(track_die_mem_stack_4) ( & MAC_(die_mem_stack_4) );
- VG_(track_die_mem_stack_8) ( & MAC_(die_mem_stack_8) );
- VG_(track_die_mem_stack_12) ( & MAC_(die_mem_stack_12) );
- VG_(track_die_mem_stack_16) ( & MAC_(die_mem_stack_16) );
- VG_(track_die_mem_stack_32) ( & MAC_(die_mem_stack_32) );
- VG_(track_die_mem_stack) ( & MAC_(die_mem_stack) );
+ VG_(track_new_mem_stack_4) ( & MAC_(new_mem_stack_4) );
+ VG_(track_new_mem_stack_8) ( & MAC_(new_mem_stack_8) );
+ VG_(track_new_mem_stack_12) ( & MAC_(new_mem_stack_12) );
+ VG_(track_new_mem_stack_16) ( & MAC_(new_mem_stack_16) );
+ VG_(track_new_mem_stack_32) ( & MAC_(new_mem_stack_32) );
+ VG_(track_new_mem_stack_112) ( & MAC_(new_mem_stack_112) );
+ VG_(track_new_mem_stack_128) ( & MAC_(new_mem_stack_128) );
+ VG_(track_new_mem_stack_144) ( & MAC_(new_mem_stack_144) );
+ VG_(track_new_mem_stack_160) ( & MAC_(new_mem_stack_160) );
+ VG_(track_new_mem_stack) ( & MAC_(new_mem_stack) );
+
+ VG_(track_die_mem_stack_4) ( & MAC_(die_mem_stack_4) );
+ VG_(track_die_mem_stack_8) ( & MAC_(die_mem_stack_8) );
+ VG_(track_die_mem_stack_12) ( & MAC_(die_mem_stack_12) );
+ VG_(track_die_mem_stack_16) ( & MAC_(die_mem_stack_16) );
+ VG_(track_die_mem_stack_32) ( & MAC_(die_mem_stack_32) );
+ VG_(track_die_mem_stack_112) ( & MAC_(die_mem_stack_112) );
+ VG_(track_die_mem_stack_128) ( & MAC_(die_mem_stack_128) );
+ VG_(track_die_mem_stack_144) ( & MAC_(die_mem_stack_144) );
+ VG_(track_die_mem_stack_160) ( & MAC_(die_mem_stack_160) );
+ VG_(track_die_mem_stack) ( & MAC_(die_mem_stack) );
VG_(track_ban_mem_stack) ( & mc_make_noaccess );