Skip to content

Commit bd55270

Browse files
committed
Skip profiling of mem functions
1 parent 45b5331 commit bd55270

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Zend/zend_alloc.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@
8080
#include <fcntl.h>
8181
#include <errno.h>
8282

83+
#ifdef HAVE_VALGRIND
84+
# include "valgrind/callgrind.h"
85+
#endif
86+
8387
#ifndef _WIN32
8488
# include <sys/mman.h>
8589
# ifndef MAP_ANON
@@ -3182,15 +3186,18 @@ size_t zend_mm_globals_size(void)
31823186

31833187
void *memcpy(void *restrict dest, const void *restrict src, size_t n)
31843188
{
3189+
CALLGRIND_TOGGLE_COLLECT;
31853190
const char *csrc = src;
31863191
char *cdest = dest;
31873192
for (int i = 0; i < n; i++) {
31883193
cdest[i] = csrc[i];
31893194
}
3195+
CALLGRIND_TOGGLE_COLLECT;
31903196
return dest;
31913197
}
31923198
void *memmove(void *dest, const void *src, size_t n)
31933199
{
3200+
CALLGRIND_TOGGLE_COLLECT;
31943201
char *csrc = (char *)src;
31953202
char *cdest = (char *)dest;
31963203

@@ -3203,22 +3210,27 @@ void *memmove(void *dest, const void *src, size_t n)
32033210
cdest[n] = csrc[n];
32043211
}
32053212
}
3213+
CALLGRIND_TOGGLE_COLLECT;
32063214

32073215
return dest;
32083216
}
32093217
void *memset(void *s, int c, size_t n)
32103218
{
3219+
CALLGRIND_TOGGLE_COLLECT;
32113220
unsigned char *cs = (unsigned char *)s;
32123221

32133222
for (int i = 0; i < n; i++) {
32143223
cs[i] = (unsigned char)c;
32153224
}
3225+
CALLGRIND_TOGGLE_COLLECT;
32163226

32173227
return s;
32183228
}
32193229
int memcmp(const void *s1, const void *s2, size_t n)
32203230
{
3231+
CALLGRIND_TOGGLE_COLLECT;
32213232
if (s1 == s2) {
3233+
CALLGRIND_TOGGLE_COLLECT;
32223234
return 0;
32233235
}
32243236

@@ -3231,6 +3243,7 @@ int memcmp(const void *s1, const void *s2, size_t n)
32313243
p++;
32323244
q++;
32333245
}
3246+
CALLGRIND_TOGGLE_COLLECT;
32343247
return 0;
32353248
}
32363249
# if defined(__GNUC__) && !defined(__clang__)

0 commit comments

Comments
 (0)