summaryrefslogtreecommitdiff
path: root/Zend/zend_alloc_sizes.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_alloc_sizes.h')
-rw-r--r--Zend/zend_alloc_sizes.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/Zend/zend_alloc_sizes.h b/Zend/zend_alloc_sizes.h
new file mode 100644
index 0000000000..177238ae34
--- /dev/null
+++ b/Zend/zend_alloc_sizes.h
@@ -0,0 +1,46 @@
+#ifndef ZEND_ALLOC_SIZES_H
+#define ZEND_ALLOC_SIZES_H
+
+#define ZEND_MM_CHUNK_SIZE (2 * 1024 * 1024) /* 2 MB */
+#define ZEND_MM_PAGE_SIZE (4 * 1024) /* 4 KB */
+#define ZEND_MM_PAGES (ZEND_MM_CHUNK_SIZE / ZEND_MM_PAGE_SIZE) /* 512 */
+#define ZEND_MM_FIRST_PAGE (1)
+
+#define ZEND_MM_MIN_SMALL_SIZE 8
+#define ZEND_MM_MAX_SMALL_SIZE 3072
+#define ZEND_MM_MAX_LARGE_SIZE (ZEND_MM_CHUNK_SIZE - (ZEND_MM_PAGE_SIZE * ZEND_MM_FIRST_PAGE))
+
+/* num, size, count, pages */
+#define ZEND_MM_BINS_INFO(_, x, y) \
+ _( 0, 8, 512, 1, x, y) \
+ _( 1, 16, 256, 1, x, y) \
+ _( 2, 24, 170, 1, x, y) \
+ _( 3, 32, 128, 1, x, y) \
+ _( 4, 40, 102, 1, x, y) \
+ _( 5, 48, 85, 1, x, y) \
+ _( 6, 56, 73, 1, x, y) \
+ _( 7, 64, 64, 1, x, y) \
+ _( 8, 80, 51, 1, x, y) \
+ _( 9, 96, 42, 1, x, y) \
+ _(10, 112, 36, 1, x, y) \
+ _(11, 128, 32, 1, x, y) \
+ _(12, 160, 25, 1, x, y) \
+ _(13, 192, 21, 1, x, y) \
+ _(14, 224, 18, 1, x, y) \
+ _(15, 256, 16, 1, x, y) \
+ _(16, 320, 64, 5, x, y) \
+ _(17, 384, 32, 3, x, y) \
+ _(18, 448, 9, 1, x, y) \
+ _(19, 512, 8, 1, x, y) \
+ _(20, 640, 32, 5, x, y) \
+ _(21, 768, 16, 3, x, y) \
+ _(22, 896, 9, 2, x, y) \
+ _(23, 1024, 8, 2, x, y) \
+ _(24, 1280, 16, 5, x, y) \
+ _(25, 1536, 8, 3, x, y) \
+ _(26, 1792, 16, 7, x, y) \
+ _(27, 2048, 8, 4, x, y) \
+ _(28, 2560, 8, 5, x, y) \
+ _(29, 3072, 4, 3, x, y)
+
+#endif /* ZEND_ALLOC_SIZES_H */