]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Small step in factoring out arch-specific code: replace
authorNicholas Nethercote <n.nethercote@gmail.com>
Mon, 23 Aug 2004 15:06:23 +0000 (15:06 +0000)
committerNicholas Nethercote <n.nethercote@gmail.com>
Mon, 23 Aug 2004 15:06:23 +0000 (15:06 +0000)
__attribute((regparm(n))) with REGPARM(n) everywhere.  REGPARM() is defined in
vg_skin.h, but will eventually be defined separately for each arch.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2601

addrcheck/ac_main.c
cachegrind/cg_main.c
coregrind/toolfuncs.def
coregrind/vg_include.h
coregrind/vg_libpthread.c
coregrind/vg_memory.c
helgrind/hg_main.c
include/vg_skin.h.base
memcheck/mac_shared.h
memcheck/mc_include.h
memcheck/mc_main.c

index 75195eb27c3d1e9f8ad48e82fadfff14a192959c..c5e2b51ebaa4d613e447d5aa72f5b30a7a4922f2 100644 (file)
@@ -715,34 +715,34 @@ static __inline__ void ac_helperc_ACCESS1 ( Addr a, Bool isWrite )
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD4 ( Addr a )
 {
    ac_helperc_ACCESS4 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE4 ( Addr a )
 {
    ac_helperc_ACCESS4 ( a, /*isWrite*/True );
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD2 ( Addr a )
 {
    ac_helperc_ACCESS2 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE2 ( Addr a )
 {
    ac_helperc_ACCESS2 ( a, /*isWrite*/True );
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_LOAD1 ( Addr a )
 {
    ac_helperc_ACCESS1 ( a, /*isWrite*/False );
 }
-__attribute__ ((regparm(1)))
+REGPARM(1)
 static void ac_helperc_STORE1 ( Addr a )
 {
    ac_helperc_ACCESS1 ( a, /*isWrite*/True );
@@ -912,13 +912,13 @@ void ac_fpu_ACCESS_check ( Addr addr, Int size, Bool isWrite )
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 static void ac_fpu_READ_check ( Addr addr, Int size )
 {
    ac_fpu_ACCESS_check ( addr, size, /*isWrite*/False );
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 static void ac_fpu_WRITE_check ( Addr addr, Int size )
 {
    ac_fpu_ACCESS_check ( addr, size, /*isWrite*/True );
index dae1b96919cae538d7d2712edf0bab024670fd04..1e0493c0ef59937c3c857372fa9b7b2863177f69 100644 (file)
@@ -290,7 +290,7 @@ static lineCC* get_lineCC(Addr orig_addr)
 /*--- Cache simulation functions                           ---*/
 /*------------------------------------------------------------*/
 
-static __attribute__ ((regparm (1)))
+static REGPARM(1)
 void log_1I_0D_cache_access(instr_info* n)
 {
    //VG_(printf)("1I_0D: CCaddr=0x%x, iaddr=0x%x, isize=%u\n",
@@ -302,7 +302,7 @@ void log_1I_0D_cache_access(instr_info* n)
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (2)))
+static REGPARM(2)
 void log_1I_1Dr_cache_access(instr_info* n, Addr data_addr)
 {
    //VG_(printf)("1I_1Dr: CCaddr=%p, iaddr=%p, isize=%u, daddr=%p, dsize=%u\n",
@@ -318,7 +318,7 @@ void log_1I_1Dr_cache_access(instr_info* n, Addr data_addr)
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (2)))
+static REGPARM(2)
 void log_1I_1Dw_cache_access(instr_info* n, Addr data_addr)
 {
    //VG_(printf)("1I_1Dw: CCaddr=%p, iaddr=%p, isize=%u, daddr=%p, dsize=%u\n",
@@ -334,7 +334,7 @@ void log_1I_1Dw_cache_access(instr_info* n, Addr data_addr)
    VGP_POPCC(VgpCacheSimulate);
 }
 
-static __attribute__ ((regparm (3)))
+static REGPARM(3)
 void log_1I_2D_cache_access(instr_info* n, Addr data_addr1, Addr data_addr2)
 {
    //VG_(printf)("1I_2D: CCaddr=%p, iaddr=%p, isize=%u, daddr1=%p, daddr2=%p, dsize=%u\n",
index 7fa7dc33b2908256d58ac796c1b359c137c57b9b..8d49f37ce495b4e31a3c62ab5427b7417284209d 100644 (file)
@@ -199,7 +199,7 @@ void,       die_mem_munmap, Addr a, UInt len
 ## specialising can optimise things significantly.  If any of the
 ## specialised cases are defined, the general case must be defined too.
 
-## Nb: they must all use the __attribute__((regparm(n))) attribute.
+## Nb: they must all use the REGPARM(n) attribute.
 void,  new_mem_stack_4,        Addr new_ESP
 void,  new_mem_stack_8,        Addr new_ESP
 void,  new_mem_stack_12,       Addr new_ESP
index 2fad874735118439291928c5ba811206422ef0f1..27b95e46498d15d49238ce18d42df0b006464d4b 100644 (file)
@@ -1375,7 +1375,7 @@ extern Bool     VG_(seg_overlaps)(const Segment *s, Addr ptr, UInt size);
 extern void VG_(pad_address_space)(void);
 extern void VG_(unpad_address_space)(void);
 
-extern __attribute__((regparm(1))) 
+extern REGPARM(1)
        void VG_(unknown_esp_update) ( Addr new_ESP );
 
 /* ---------------------------------------------------------------------
index fae30aad7f1e1fa01f3ac2290211d42355477300..cc7bbd82a3b6eaedf7dd197e551dc471219af970 100644 (file)
@@ -654,8 +654,8 @@ int pthread_getconcurrency(void)
    and for clearing up afterwards.
    ------------------------------------------------ */
 
-typedef void *(*__attribute__ ((regparm (3), stdcall)) allocate_tls_t) (void *result);
-typedef void (*__attribute__ ((regparm (3), stdcall)) deallocate_tls_t) (void *tcb, int dealloc_tcb);
+typedef void *(*__attribute__ ((stdcall)) REGPARM(3) allocate_tls_t) (void *result);
+typedef void (*__attribute__ ((stdcall)) REGPARM(3) deallocate_tls_t) (void *tcb, int dealloc_tcb);
 
 static allocate_tls_t allocate_tls = NULL;
 static deallocate_tls_t deallocate_tls = NULL;
@@ -965,7 +965,7 @@ void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -980,7 +980,7 @@ void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
 {
    /* As __pthread_register cancel, but save the thread's original
@@ -1006,7 +1006,7 @@ void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -1022,7 +1022,7 @@ void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 void __pthread_unregister_restore (__pthread_unwind_buf_t *__buf)
 {
    int          res;
@@ -1049,7 +1049,7 @@ void __pthread_unregister_restore (__pthread_unwind_buf_t *__buf)
    return;
 }
 
-__attribute ((regparm (1)))
+REGPARM(1)
 __attribute ((__noreturn__))
 void __pthread_unwind (__pthread_unwind_buf_t *__buf)
 {
@@ -1073,7 +1073,7 @@ void __pthread_unwind (__pthread_unwind_buf_t *__buf)
 }
 
 
-__attribute ((regparm (1)))
+REGPARM(1)
 __attribute ((__noreturn__))
 void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
 {
index 483073a22f7632fdb14bd349c4d08da5f2627242..d1a10c0715b459f16f8f419c67f68e156d2679b4 100644 (file)
@@ -676,7 +676,7 @@ Segment *VG_(next_segment)(Segment *s)
 /* This function gets called if new_mem_stack and/or die_mem_stack are
    tracked by the tool, and one of the specialised cases (eg. new_mem_stack_4)
    isn't used in preference */
-__attribute__((regparm(1)))
+REGPARM(1)
 void VG_(unknown_esp_update)(Addr new_ESP)
 {
    Addr old_ESP = VG_(get_archreg)(R_ESP);
index c14d8d21330626d00995a5908fcfa6d4811c4717..6da8cccac6578ce68476373b8f332c17f79e03b1 100644 (file)
@@ -1696,8 +1696,6 @@ static void copy_address_range_state(Addr src, Addr dst, UInt len)
 static void eraser_mem_read (Addr a, UInt data_size, ThreadId tid);
 static void eraser_mem_write(Addr a, UInt data_size, ThreadId tid);
 
-#define REGPARM(x)     __attribute__((regparm (x)))
-
 static void eraser_mem_help_read_1(Addr a) REGPARM(1);
 static void eraser_mem_help_read_2(Addr a) REGPARM(1);
 static void eraser_mem_help_read_4(Addr a) REGPARM(1);
index a984988de0c67f55aa632b05ffa3058b24e1f519..1a837d3aa9788510f492bf2cfc8d4222fba1fe71 100644 (file)
@@ -36,6 +36,8 @@
 
 #include "vg_constants_skin.h"
 
+// XXX: here temporarily, will eventually go in arch-specific headers...
+#define REGPARM(x)     __attribute__((regparm (x)))
 
 /* ---------------------------------------------------------------------
    Where to send bug reports to.
index bb16d6e0dfb9d9b616849bd7c53642d6fed4d08b..a9338d070a3e31e04900157c005dbffb7798528c 100644 (file)
@@ -347,18 +347,18 @@ extern void MAC_(do_detect_memory_leaks) (
           Bool is_valid_address   ( Addr )
        );
 
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_4)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_4)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_8)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_8)  ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_12) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_12) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_16) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_16) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(new_mem_stack_32) ( Addr old_ESP );
-extern __attribute__((regparm(1))) void MAC_(die_mem_stack_32) ( Addr old_ESP );
-extern                             void MAC_(die_mem_stack) ( Addr a, UInt len);
-extern                             void MAC_(new_mem_stack) ( Addr a, UInt len);
+extern REGPARM(1) void MAC_(new_mem_stack_4)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_4)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_8)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_8)  ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_12) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_12) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_16) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_16) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(new_mem_stack_32) ( Addr old_ESP );
+extern REGPARM(1) void MAC_(die_mem_stack_32) ( Addr old_ESP );
+extern            void MAC_(die_mem_stack) ( Addr a, UInt len);
+extern            void MAC_(new_mem_stack) ( Addr a, UInt len);
 
 
 /*------------------------------------------------------------*/
@@ -377,7 +377,7 @@ extern                             void MAC_(new_mem_stack) ( Addr a, UInt len);
                             ALIGNED8_NEW,  ALIGNED8_DIE,                      \
                             UNALIGNED_NEW, UNALIGNED_DIE)                     \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_4)(Addr new_ESP)          \
+void REGPARM(1) MAC_(new_mem_stack_4)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(110);                                                           \
    if (IS_ALIGNED4_ADDR(new_ESP)) {                                           \
@@ -387,7 +387,7 @@ void __attribute__((regparm(1))) MAC_(new_mem_stack_4)(Addr new_ESP)          \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_4)(Addr new_ESP)          \
+void REGPARM(1) MAC_(die_mem_stack_4)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(120);                                                           \
    if (IS_ALIGNED4_ADDR(new_ESP)) {                                           \
@@ -397,7 +397,7 @@ void __attribute__((regparm(1))) MAC_(die_mem_stack_4)(Addr new_ESP)          \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_8)(Addr new_ESP)          \
+void REGPARM(1) MAC_(new_mem_stack_8)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(111);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -410,7 +410,7 @@ void __attribute__((regparm(1))) MAC_(new_mem_stack_8)(Addr new_ESP)          \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_8)(Addr new_ESP)          \
+void REGPARM(1) MAC_(die_mem_stack_8)(Addr new_ESP)                           \
 {                                                                             \
    PROF_EVENT(121);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -423,7 +423,7 @@ void __attribute__((regparm(1))) MAC_(die_mem_stack_8)(Addr new_ESP)          \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_12)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_12)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(112);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -437,7 +437,7 @@ void __attribute__((regparm(1))) MAC_(new_mem_stack_12)(Addr new_ESP)         \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_12)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_12)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(122);                                                           \
    /* Note the -12 in the test */                                             \
@@ -452,7 +452,7 @@ void __attribute__((regparm(1))) MAC_(die_mem_stack_12)(Addr new_ESP)         \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_16)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_16)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(113);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -467,7 +467,7 @@ void __attribute__((regparm(1))) MAC_(new_mem_stack_16)(Addr new_ESP)         \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_16)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_16)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(123);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -482,7 +482,7 @@ void __attribute__((regparm(1))) MAC_(die_mem_stack_16)(Addr new_ESP)         \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(new_mem_stack_32)(Addr new_ESP)         \
+void REGPARM(1) MAC_(new_mem_stack_32)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(114);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
@@ -501,7 +501,7 @@ void __attribute__((regparm(1))) MAC_(new_mem_stack_32)(Addr new_ESP)         \
    }                                                                          \
 }                                                                             \
                                                                               \
-void __attribute__((regparm(1))) MAC_(die_mem_stack_32)(Addr new_ESP)         \
+void REGPARM(1) MAC_(die_mem_stack_32)(Addr new_ESP)                          \
 {                                                                             \
    PROF_EVENT(124);                                                           \
    if (IS_ALIGNED8_ADDR(new_ESP)) {                                           \
index a3a39fd7971c4ec3ed432018fc36d892f60ac5e1..9396cb7f9c0ee10e5819d229ba3091c2183292a5 100644 (file)
@@ -121,16 +121,16 @@ extern void MC_(helper_value_check0_fail) ( void );
 
 
 /* Functions defined in mc_main.c */
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV4) ( Addr, UInt );
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV2) ( Addr, UInt );
-extern __attribute__ ((regparm(2))) void MC_(helperc_STOREV1) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV4) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV2) ( Addr, UInt );
+extern REGPARM(2) void MC_(helperc_STOREV1) ( Addr, UInt );
    
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV1) ( Addr );
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV2) ( Addr );
-extern __attribute__ ((regparm(1))) UInt MC_(helperc_LOADV4) ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV1)  ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV2)  ( Addr );
+extern REGPARM(1) UInt MC_(helperc_LOADV4)  ( Addr );
 
-extern __attribute__ ((regparm(2))) void MC_(fpu_write_check) ( Addr addr, Int size );
-extern __attribute__ ((regparm(2))) void MC_(fpu_read_check)  ( Addr addr, Int size );
+extern REGPARM(2) void MC_(fpu_write_check) ( Addr addr, Int size );
+extern REGPARM(2) void MC_(fpu_read_check)  ( Addr addr, Int size );
 
 
 /* For client requests */
index 4a8256abf39dc1fddac6480aeaf550b677eb8e4b..bfad60b8ad01cb3b9d9241f9e404e9d00705d10c 100644 (file)
@@ -762,7 +762,7 @@ static __inline__ UInt shiftRight16 ( UInt x )
    Under all other circumstances, it defers to the relevant _SLOWLY
    function, which can handle all situations.
 */
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV4) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -787,7 +787,7 @@ UInt MC_(helperc_LOADV4) ( Addr a )
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV4) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -812,7 +812,7 @@ void MC_(helperc_STOREV4) ( Addr a, UInt vbytes )
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV2) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -835,7 +835,7 @@ UInt MC_(helperc_LOADV2) ( Addr a )
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV2) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -856,7 +856,7 @@ void MC_(helperc_STOREV2) ( Addr a, UInt vbytes )
 #  endif
 }
 
-__attribute__ ((regparm(1)))
+REGPARM(1)
 UInt MC_(helperc_LOADV1) ( Addr a )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -879,7 +879,7 @@ UInt MC_(helperc_LOADV1) ( Addr a )
 #  endif
 }
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(helperc_STOREV1) ( Addr a, UInt vbytes )
 {
 #  ifdef VG_DEBUG_MEMORY
@@ -1107,7 +1107,7 @@ void MC_(helperc_value_check4_fail) ( void )
    FPU load and store checks, called from generated code.
    ------------------------------------------------------------------ */
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(fpu_read_check) ( Addr addr, Int size )
 {
    /* Ensure the read area is both addressible and valid (ie,
@@ -1199,7 +1199,7 @@ void MC_(fpu_read_check) ( Addr addr, Int size )
 }
 
 
-__attribute__ ((regparm(2)))
+REGPARM(2)
 void MC_(fpu_write_check) ( Addr addr, Int size )
 {
    /* Ensure the written area is addressible, and moan if otherwise.