80
80
#include <fcntl.h>
81
81
#include <errno.h>
82
82
83
+ #ifdef HAVE_VALGRIND
84
+ # include "valgrind/callgrind.h"
85
+ #endif
86
+
83
87
#ifndef _WIN32
84
88
# include <sys/mman.h>
85
89
# ifndef MAP_ANON
@@ -3182,15 +3186,18 @@ size_t zend_mm_globals_size(void)
3182
3186
3183
3187
void * memcpy (void * restrict dest , const void * restrict src , size_t n )
3184
3188
{
3189
+ CALLGRIND_TOGGLE_COLLECT ;
3185
3190
const char * csrc = src ;
3186
3191
char * cdest = dest ;
3187
3192
for (int i = 0 ; i < n ; i ++ ) {
3188
3193
cdest [i ] = csrc [i ];
3189
3194
}
3195
+ CALLGRIND_TOGGLE_COLLECT ;
3190
3196
return dest ;
3191
3197
}
3192
3198
void * memmove (void * dest , const void * src , size_t n )
3193
3199
{
3200
+ CALLGRIND_TOGGLE_COLLECT ;
3194
3201
char * csrc = (char * )src ;
3195
3202
char * cdest = (char * )dest ;
3196
3203
@@ -3203,17 +3210,18 @@ void *memmove(void *dest, const void *src, size_t n)
3203
3210
cdest [n ] = csrc [n ];
3204
3211
}
3205
3212
}
3206
-
3213
+ CALLGRIND_TOGGLE_COLLECT ;
3207
3214
return dest ;
3208
3215
}
3209
3216
void * memset (void * s , int c , size_t n )
3210
3217
{
3218
+ CALLGRIND_TOGGLE_COLLECT ;
3211
3219
unsigned char * cs = (unsigned char * )s ;
3212
3220
3213
3221
for (int i = 0 ; i < n ; i ++ ) {
3214
3222
cs [i ] = (unsigned char )c ;
3215
3223
}
3216
-
3224
+ CALLGRIND_TOGGLE_COLLECT ;
3217
3225
return s ;
3218
3226
}
3219
3227
int memcmp (const void * s1 , const void * s2 , size_t n )
@@ -3222,15 +3230,18 @@ int memcmp(const void *s1, const void *s2, size_t n)
3222
3230
return 0 ;
3223
3231
}
3224
3232
3233
+ CALLGRIND_TOGGLE_COLLECT ;
3225
3234
unsigned char * p = (unsigned char * )s1 ;
3226
3235
unsigned char * q = (unsigned char * )s2 ;
3227
3236
while (n -- != 0 ) {
3228
3237
if (* p != * q ) {
3238
+ CALLGRIND_TOGGLE_COLLECT ;
3229
3239
return (* p > * q ) ? 1 : -1 ;
3230
3240
}
3231
3241
p ++ ;
3232
3242
q ++ ;
3233
3243
}
3244
+ CALLGRIND_TOGGLE_COLLECT ;
3234
3245
return 0 ;
3235
3246
}
3236
3247
# if defined(__GNUC__ ) && !defined(__clang__ )
0 commit comments