最近没什么事情,就决定分析一下php7的内存管理方面的博客,首先不得不说,PHP7的内存管理的代码和之前的版本比起来,思路上清晰了很多。内存的分配也分为了,小内存,大内存和超大内存。第一个章节我们就分析一下整个内存管理的结构吧。
一.主体的结构体:
struct _zend_mm_heap {
#if ZEND_MM_STORAGE
zend_mm_storage *storage;
#endif
#if ZEND_MM_STAT
size_t size;
size_t peak;
#endif
zend_mm_free_slot *free_slot[ZEND_MM_BINS];/*小内存分配的列表*/
#if ZEND_MM_STAT || ZEND_MM_LIMIT
size_t real_size;
#endif
#if ZEND_MM_STAT
size_t real_peak;
#endif