summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_alloc.c14
-rw-r--r--Zend/zend_alloc.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index 58e19c1d39..f0a3b2021e 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -2443,6 +2443,20 @@ ZEND_API zend_mm_heap *zend_mm_set_heap(zend_mm_heap *new_heap)
return (zend_mm_heap*)old_heap;
}
+ZEND_API zend_mm_heap *zend_mm_get_heap(void)
+{
+ return AG(mm_heap);
+}
+
+ZEND_API int zend_mm_is_custom_heap(zend_mm_heap *new_heap)
+{
+#if ZEND_MM_CUSTOM
+ return AG(mm_heap)->use_custom_heap;
+#else
+ return 0;
+#endif
+}
+
ZEND_API void zend_mm_set_custom_handlers(zend_mm_heap *heap,
void* (*_malloc)(size_t),
void (*_free)(void*),
diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h
index 6c12b4247d..eebddca0c9 100644
--- a/Zend/zend_alloc.h
+++ b/Zend/zend_alloc.h
@@ -280,7 +280,9 @@ ZEND_API size_t ZEND_FASTCALL _zend_mm_block_size(zend_mm_heap *heap, void *p ZE
#define zend_mm_block_size_rel(heap, p) _zend_mm_block_size((heap), (p) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
ZEND_API zend_mm_heap *zend_mm_set_heap(zend_mm_heap *new_heap);
+ZEND_API zend_mm_heap *zend_mm_get_heap(void);
+ZEND_API int zend_mm_is_custom_heap(zend_mm_heap *new_heap);
ZEND_API void zend_mm_set_custom_handlers(zend_mm_heap *heap,
void* (*_malloc)(size_t),
void (*_free)(void*),