Skip to content

Commit 31c6c86

Browse files
committed
Merge branch 'PHP-7.4'
2 parents f613e32 + ce25fa0 commit 31c6c86

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Zend/zend_alloc.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@ static size_t _real_page_size = ZEND_MM_PAGE_SIZE;
111111
# undef HAVE_MREMAP
112112
#endif
113113

114+
#ifndef __APPLE__
115+
# define ZEND_MM_FD -1
116+
#else
117+
/* Mac allows to track anonymous page via vmmap per TAG id.
118+
* user land applications are allowed to take from 240 to 255.
119+
*/
120+
# define ZEND_MM_FD (250<<24)
121+
#endif
122+
114123
#ifndef ZEND_MM_STAT
115124
# define ZEND_MM_STAT 1 /* track current and peak memory usage */
116125
#endif
@@ -417,7 +426,7 @@ static void *zend_mm_mmap_fixed(void *addr, size_t size)
417426
flags |= MAP_FIXED | MAP_EXCL;
418427
#endif
419428
/* MAP_FIXED leads to discarding of the old mapping, so it can't be used. */
420-
void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, flags /*| MAP_POPULATE | MAP_HUGETLB*/, -1, 0);
429+
void *ptr = mmap(addr, size, PROT_READ | PROT_WRITE, flags /*| MAP_POPULATE | MAP_HUGETLB*/, ZEND_MM_FD, 0);
421430

422431
if (ptr == MAP_FAILED) {
423432
#if ZEND_MM_ERROR && !defined(MAP_EXCL)
@@ -461,7 +470,7 @@ static void *zend_mm_mmap(size_t size)
461470
}
462471
#endif
463472

464-
ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
473+
ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, ZEND_MM_FD, 0);
465474

466475
if (ptr == MAP_FAILED) {
467476
#if ZEND_MM_ERROR

0 commit comments

Comments
 (0)