char *tmp = getenv("USE_ZEND_ALLOC");
if (tmp && !zend_atoi(tmp, 0)) {
- alloc_globals->mm_heap = malloc(sizeof(struct _zend_mm_heap));
- memset(alloc_globals->mm_heap, 0, sizeof(struct _zend_mm_heap));
- alloc_globals->mm_heap->use_zend_alloc = 0;
- alloc_globals->mm_heap->_malloc = __zend_malloc;
- alloc_globals->mm_heap->_free = free;
- alloc_globals->mm_heap->_realloc = __zend_realloc;
- } else {
- alloc_globals->mm_heap = zend_mm_startup();
+ alloc_globals->mm_heap = malloc(sizeof(zend_mm_heap));
+ memset(alloc_globals->mm_heap, 0, sizeof(zend_mm_heap));
+ alloc_globals->mm_heap->use_custom_heap = ZEND_MM_CUSTOM_HEAP_STD;
- alloc_globals->mm_heap->custom_heap.std._malloc = malloc;
++ alloc_globals->mm_heap->custom_heap.std._malloc = __zend_malloc;
+ alloc_globals->mm_heap->custom_heap.std._free = free;
- alloc_globals->mm_heap->custom_heap.std._realloc = realloc;
++ alloc_globals->mm_heap->custom_heap.std._realloc = __zend_realloc;
+ return;
}
+#endif
+#ifdef MAP_HUGETLB
+ tmp = getenv("USE_ZEND_ALLOC_HUGE_PAGES");
+ if (tmp && zend_atoi(tmp, 0)) {
+ zend_mm_use_huge_pages = 1;
+ }
+#endif
+ ZEND_TSRMLS_CACHE_UPDATE();
+ alloc_globals->mm_heap = zend_mm_init();
}
#ifdef ZTS