heap 287 Zend/zend_alloc.c zend_mm_heap *heap; heap 373 Zend/zend_alloc.c static ZEND_COLD ZEND_NORETURN void zend_mm_safe_error(zend_mm_heap *heap, heap 383 Zend/zend_alloc.c heap->overflow = 1; heap 395 Zend/zend_alloc.c heap->overflow = 0; heap 797 Zend/zend_alloc.c static void *zend_mm_chunk_alloc(zend_mm_heap *heap, size_t size, size_t alignment) heap 800 Zend/zend_alloc.c if (UNEXPECTED(heap->storage)) { heap 801 Zend/zend_alloc.c void *ptr = heap->storage->handlers.chunk_alloc(heap->storage, size, alignment); heap 809 Zend/zend_alloc.c static void zend_mm_chunk_free(zend_mm_heap *heap, void *addr, size_t size) heap 812 Zend/zend_alloc.c if (UNEXPECTED(heap->storage)) { heap 813 Zend/zend_alloc.c heap->storage->handlers.chunk_free(heap->storage, addr, size); heap 820 Zend/zend_alloc.c static int zend_mm_chunk_truncate(zend_mm_heap *heap, void *addr, size_t old_size, size_t new_size) heap 823 Zend/zend_alloc.c if (UNEXPECTED(heap->storage)) { heap 824 Zend/zend_alloc.c if (heap->storage->handlers.chunk_truncate) { heap 825 Zend/zend_alloc.c return heap->storage->handlers.chunk_truncate(heap->storage, addr, old_size, new_size); heap 839 Zend/zend_alloc.c static int zend_mm_chunk_extend(zend_mm_heap *heap, void *addr, size_t old_size, size_t new_size) heap 842 Zend/zend_alloc.c if (UNEXPECTED(heap->storage)) { heap 843 Zend/zend_alloc.c if (heap->storage->handlers.chunk_extend) { heap 844 Zend/zend_alloc.c return heap->storage->handlers.chunk_extend(heap->storage, addr, old_size, new_size); heap 857 Zend/zend_alloc.c static zend_always_inline void zend_mm_chunk_init(zend_mm_heap *heap, zend_mm_chunk *chunk) heap 859 Zend/zend_alloc.c chunk->heap = heap; heap 860 Zend/zend_alloc.c chunk->next = heap->main_chunk; heap 861 Zend/zend_alloc.c chunk->prev = heap->main_chunk->prev; heap 878 Zend/zend_alloc.c static size_t zend_mm_get_huge_block_size(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 879 Zend/zend_alloc.c static void *zend_mm_alloc_huge(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 880 Zend/zend_alloc.c static void zend_mm_free_huge(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 883 Zend/zend_alloc.c static void zend_mm_change_huge_block_size(zend_mm_heap *heap, void *ptr, size_t size, size_t dbg_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 885 Zend/zend_alloc.c static void zend_mm_change_huge_block_size(zend_mm_heap *heap, void *ptr, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 893 Zend/zend_alloc.c static void *zend_mm_alloc_pages(zend_mm_heap *heap, int pages_count, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 895 Zend/zend_alloc.c static void *zend_mm_alloc_pages(zend_mm_heap *heap, int pages_count ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 898 Zend/zend_alloc.c zend_mm_chunk *chunk = heap->main_chunk; heap 1016 Zend/zend_alloc.c if (chunk->next == heap->main_chunk) { heap 1018 Zend/zend_alloc.c if (heap->cached_chunks) { heap 1019 Zend/zend_alloc.c heap->cached_chunks_count--; heap 1020 Zend/zend_alloc.c chunk = heap->cached_chunks; heap 1021 Zend/zend_alloc.c heap->cached_chunks = chunk->next; heap 1024 Zend/zend_alloc.c if (UNEXPECTED(heap->real_size + ZEND_MM_CHUNK_SIZE > heap->limit)) { heap 1025 Zend/zend_alloc.c if (zend_mm_gc(heap)) { heap 1027 Zend/zend_alloc.c } else if (heap->overflow == 0) { heap 1029 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted at %s:%d (tried to allocate %zu bytes)", heap->limit, __zend_filename, __zend_lineno, size); heap 1031 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted (tried to allocate %zu bytes)", heap->limit, ZEND_MM_PAGE_SIZE * pages_count); heap 1037 Zend/zend_alloc.c chunk = (zend_mm_chunk*)zend_mm_chunk_alloc(heap, ZEND_MM_CHUNK_SIZE, ZEND_MM_CHUNK_SIZE); heap 1040 Zend/zend_alloc.c if (zend_mm_gc(heap) && heap 1041 Zend/zend_alloc.c (chunk = (zend_mm_chunk*)zend_mm_chunk_alloc(heap, ZEND_MM_CHUNK_SIZE, ZEND_MM_CHUNK_SIZE)) != NULL) { heap 1045 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory"); heap 1047 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory (allocated %zu) at %s:%d (tried to allocate %zu bytes)", heap->real_size, __zend_filename, __zend_lineno, size); heap 1049 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory (allocated %zu) (tried to allocate %zu bytes)", heap->real_size, ZEND_MM_PAGE_SIZE * pages_count); heap 1056 Zend/zend_alloc.c size_t size = heap->real_size + ZEND_MM_CHUNK_SIZE; heap 1057 Zend/zend_alloc.c size_t peak = MAX(heap->real_peak, size); heap 1058 Zend/zend_alloc.c heap->real_size = size; heap 1059 Zend/zend_alloc.c heap->real_peak = peak; heap 1062 Zend/zend_alloc.c heap->real_size += ZEND_MM_CHUNK_SIZE; heap 1066 Zend/zend_alloc.c heap->chunks_count++; heap 1067 Zend/zend_alloc.c if (heap->chunks_count > heap->peak_chunks_count) { heap 1068 Zend/zend_alloc.c heap->peak_chunks_count = heap->chunks_count; heap 1070 Zend/zend_alloc.c zend_mm_chunk_init(heap, chunk); heap 1090 Zend/zend_alloc.c static zend_always_inline void *zend_mm_alloc_large(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1094 Zend/zend_alloc.c void *ptr = zend_mm_alloc_pages(heap, pages_count, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1096 Zend/zend_alloc.c void *ptr = zend_mm_alloc_pages(heap, pages_count ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1100 Zend/zend_alloc.c size_t size = heap->size + pages_count * ZEND_MM_PAGE_SIZE; heap 1101 Zend/zend_alloc.c size_t peak = MAX(heap->peak, size); heap 1102 Zend/zend_alloc.c heap->size = size; heap 1103 Zend/zend_alloc.c heap->peak = peak; heap 1109 Zend/zend_alloc.c static zend_always_inline void zend_mm_delete_chunk(zend_mm_heap *heap, zend_mm_chunk *chunk) heap 1113 Zend/zend_alloc.c heap->chunks_count--; heap 1114 Zend/zend_alloc.c if (heap->chunks_count + heap->cached_chunks_count < heap->avg_chunks_count + 0.1) { heap 1116 Zend/zend_alloc.c heap->cached_chunks_count++; heap 1117 Zend/zend_alloc.c chunk->next = heap->cached_chunks; heap 1118 Zend/zend_alloc.c heap->cached_chunks = chunk; heap 1121 Zend/zend_alloc.c heap->real_size -= ZEND_MM_CHUNK_SIZE; heap 1123 Zend/zend_alloc.c if (!heap->cached_chunks || chunk->num > heap->cached_chunks->num) { heap 1124 Zend/zend_alloc.c zend_mm_chunk_free(heap, chunk, ZEND_MM_CHUNK_SIZE); heap 1127 Zend/zend_alloc.c chunk->next = heap->cached_chunks->next; heap 1128 Zend/zend_alloc.c zend_mm_chunk_free(heap, heap->cached_chunks, ZEND_MM_CHUNK_SIZE); heap 1129 Zend/zend_alloc.c heap->cached_chunks = chunk; heap 1134 Zend/zend_alloc.c static zend_always_inline void zend_mm_free_pages_ex(zend_mm_heap *heap, zend_mm_chunk *chunk, int page_num, int pages_count, int free_chunk) heap 1144 Zend/zend_alloc.c zend_mm_delete_chunk(heap, chunk); heap 1148 Zend/zend_alloc.c static void zend_mm_free_pages(zend_mm_heap *heap, zend_mm_chunk *chunk, int page_num, int pages_count) heap 1150 Zend/zend_alloc.c zend_mm_free_pages_ex(heap, chunk, page_num, pages_count, 1); heap 1153 Zend/zend_alloc.c static zend_always_inline void zend_mm_free_large(zend_mm_heap *heap, zend_mm_chunk *chunk, int page_num, int pages_count) heap 1156 Zend/zend_alloc.c heap->size -= pages_count * ZEND_MM_PAGE_SIZE; heap 1158 Zend/zend_alloc.c zend_mm_free_pages(heap, chunk, page_num, pages_count); heap 1227 Zend/zend_alloc.c static zend_never_inline void *zend_mm_alloc_small_slow(zend_mm_heap *heap, int bin_num ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1235 Zend/zend_alloc.c bin = (zend_mm_bin*)zend_mm_alloc_pages(heap, bin_pages[bin_num], bin_data_size[bin_num] ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1237 Zend/zend_alloc.c bin = (zend_mm_bin*)zend_mm_alloc_pages(heap, bin_pages[bin_num] ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1257 Zend/zend_alloc.c heap->free_slot[bin_num] = p = (zend_mm_free_slot*)((char*)bin + bin_data_size[bin_num]); heap 1282 Zend/zend_alloc.c static zend_always_inline void *zend_mm_alloc_small(zend_mm_heap *heap, size_t size, int bin_num ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1286 Zend/zend_alloc.c size_t size = heap->size + bin_data_size[bin_num]; heap 1287 Zend/zend_alloc.c size_t peak = MAX(heap->peak, size); heap 1288 Zend/zend_alloc.c heap->size = size; heap 1289 Zend/zend_alloc.c heap->peak = peak; heap 1293 Zend/zend_alloc.c if (EXPECTED(heap->free_slot[bin_num] != NULL)) { heap 1294 Zend/zend_alloc.c zend_mm_free_slot *p = heap->free_slot[bin_num]; heap 1295 Zend/zend_alloc.c heap->free_slot[bin_num] = p->next_free_slot; heap 1298 Zend/zend_alloc.c return zend_mm_alloc_small_slow(heap, bin_num ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1302 Zend/zend_alloc.c static zend_always_inline void zend_mm_free_small(zend_mm_heap *heap, void *ptr, int bin_num) heap 1307 Zend/zend_alloc.c heap->size -= bin_data_size[bin_num]; heap 1318 Zend/zend_alloc.c p->next_free_slot = heap->free_slot[bin_num]; heap 1319 Zend/zend_alloc.c heap->free_slot[bin_num] = p; heap 1327 Zend/zend_alloc.c static zend_always_inline zend_mm_debug_info *zend_mm_get_debug_info(zend_mm_heap *heap, void *ptr) heap 1338 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1350 Zend/zend_alloc.c static zend_always_inline void *zend_mm_alloc_heap(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1366 Zend/zend_alloc.c ptr = zend_mm_alloc_small(heap, size, ZEND_MM_SMALL_SIZE_TO_BIN(size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1368 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1377 Zend/zend_alloc.c ptr = zend_mm_alloc_large(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1379 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1391 Zend/zend_alloc.c return zend_mm_alloc_huge(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1395 Zend/zend_alloc.c static zend_always_inline void zend_mm_free_heap(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1401 Zend/zend_alloc.c zend_mm_free_huge(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1408 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1410 Zend/zend_alloc.c zend_mm_free_small(heap, ptr, ZEND_MM_SRUN_BIN_NUM(info)); heap 1415 Zend/zend_alloc.c zend_mm_free_large(heap, chunk, page_num, pages_count); heap 1420 Zend/zend_alloc.c static size_t zend_mm_size(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1425 Zend/zend_alloc.c return zend_mm_get_huge_block_size(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1429 Zend/zend_alloc.c zend_mm_debug_info *dbg = zend_mm_get_debug_info(heap, ptr); heap 1438 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1448 Zend/zend_alloc.c static void *zend_mm_realloc_heap(zend_mm_heap *heap, void *ptr, size_t size, size_t copy_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1462 Zend/zend_alloc.c return zend_mm_alloc_heap(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1464 Zend/zend_alloc.c old_size = zend_mm_get_huge_block_size(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1484 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size, real_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1486 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1491 Zend/zend_alloc.c if (zend_mm_chunk_truncate(heap, ptr, old_size, new_size)) { heap 1493 Zend/zend_alloc.c heap->real_size -= old_size - new_size; heap 1496 Zend/zend_alloc.c heap->size -= old_size - new_size; heap 1499 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size, real_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1501 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1507 Zend/zend_alloc.c if (UNEXPECTED(heap->real_size + (new_size - old_size) > heap->limit)) { heap 1508 Zend/zend_alloc.c if (zend_mm_gc(heap) && heap->real_size + (new_size - old_size) <= heap->limit) { heap 1510 Zend/zend_alloc.c } else if (heap->overflow == 0) { heap 1512 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted at %s:%d (tried to allocate %zu bytes)", heap->limit, __zend_filename, __zend_lineno, size); heap 1514 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted (tried to allocate %zu bytes)", heap->limit, size); heap 1521 Zend/zend_alloc.c if (zend_mm_chunk_extend(heap, ptr, old_size, new_size)) { heap 1523 Zend/zend_alloc.c heap->real_size += new_size - old_size; heap 1526 Zend/zend_alloc.c heap->real_peak = MAX(heap->real_peak, heap->real_size); heap 1527 Zend/zend_alloc.c heap->size += new_size - old_size; heap 1528 Zend/zend_alloc.c heap->peak = MAX(heap->peak, heap->size); heap 1531 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size, real_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1533 Zend/zend_alloc.c zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1549 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1558 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1574 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1588 Zend/zend_alloc.c heap->size -= rest_pages_count * ZEND_MM_PAGE_SIZE; heap 1594 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1611 Zend/zend_alloc.c size_t size = heap->size + (new_size - old_size); heap 1612 Zend/zend_alloc.c size_t peak = MAX(heap->peak, size); heap 1613 Zend/zend_alloc.c heap->size = size; heap 1614 Zend/zend_alloc.c heap->peak = peak; heap 1621 Zend/zend_alloc.c dbg = zend_mm_get_debug_info(heap, ptr); heap 1641 Zend/zend_alloc.c size_t orig_peak = heap->peak; heap 1642 Zend/zend_alloc.c size_t orig_real_peak = heap->real_peak; heap 1644 Zend/zend_alloc.c ret = zend_mm_alloc_heap(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1646 Zend/zend_alloc.c zend_mm_free_heap(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1648 Zend/zend_alloc.c heap->peak = MAX(orig_peak, heap->size); heap 1649 Zend/zend_alloc.c heap->real_peak = MAX(orig_real_peak, heap->real_size); heap 1660 Zend/zend_alloc.c static void zend_mm_add_huge_block(zend_mm_heap *heap, void *ptr, size_t size, size_t dbg_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1662 Zend/zend_alloc.c static void zend_mm_add_huge_block(zend_mm_heap *heap, void *ptr, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1665 Zend/zend_alloc.c zend_mm_huge_list *list = (zend_mm_huge_list*)zend_mm_alloc_heap(heap, sizeof(zend_mm_huge_list) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1668 Zend/zend_alloc.c list->next = heap->huge_list; heap 1676 Zend/zend_alloc.c heap->huge_list = list; heap 1679 Zend/zend_alloc.c static size_t zend_mm_del_huge_block(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1682 Zend/zend_alloc.c zend_mm_huge_list *list = heap->huge_list; heap 1690 Zend/zend_alloc.c heap->huge_list = list->next; heap 1693 Zend/zend_alloc.c zend_mm_free_heap(heap, list ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1703 Zend/zend_alloc.c static size_t zend_mm_get_huge_block_size(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1705 Zend/zend_alloc.c zend_mm_huge_list *list = heap->huge_list; heap 1717 Zend/zend_alloc.c static void zend_mm_change_huge_block_size(zend_mm_heap *heap, void *ptr, size_t size, size_t dbg_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1719 Zend/zend_alloc.c static void zend_mm_change_huge_block_size(zend_mm_heap *heap, void *ptr, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1722 Zend/zend_alloc.c zend_mm_huge_list *list = heap->huge_list; heap 1739 Zend/zend_alloc.c static void *zend_mm_alloc_huge(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1753 Zend/zend_alloc.c if (UNEXPECTED(heap->real_size + new_size > heap->limit)) { heap 1754 Zend/zend_alloc.c if (zend_mm_gc(heap) && heap->real_size + new_size <= heap->limit) { heap 1756 Zend/zend_alloc.c } else if (heap->overflow == 0) { heap 1758 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted at %s:%d (tried to allocate %zu bytes)", heap->limit, __zend_filename, __zend_lineno, size); heap 1760 Zend/zend_alloc.c zend_mm_safe_error(heap, "Allowed memory size of %zu bytes exhausted (tried to allocate %zu bytes)", heap->limit, size); heap 1766 Zend/zend_alloc.c ptr = zend_mm_chunk_alloc(heap, new_size, ZEND_MM_CHUNK_SIZE); heap 1769 Zend/zend_alloc.c if (zend_mm_gc(heap) && heap 1770 Zend/zend_alloc.c (ptr = zend_mm_chunk_alloc(heap, new_size, ZEND_MM_CHUNK_SIZE)) != NULL) { heap 1774 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory"); heap 1776 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory (allocated %zu) at %s:%d (tried to allocate %zu bytes)", heap->real_size, __zend_filename, __zend_lineno, size); heap 1778 Zend/zend_alloc.c zend_mm_safe_error(heap, "Out of memory (allocated %zu) (tried to allocate %zu bytes)", heap->real_size, size); heap 1784 Zend/zend_alloc.c zend_mm_add_huge_block(heap, ptr, new_size, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1786 Zend/zend_alloc.c zend_mm_add_huge_block(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1790 Zend/zend_alloc.c size_t size = heap->real_size + new_size; heap 1791 Zend/zend_alloc.c size_t peak = MAX(heap->real_peak, size); heap 1792 Zend/zend_alloc.c heap->real_size = size; heap 1793 Zend/zend_alloc.c heap->real_peak = peak; heap 1796 Zend/zend_alloc.c size_t size = heap->size + new_size; heap 1797 Zend/zend_alloc.c size_t peak = MAX(heap->peak, size); heap 1798 Zend/zend_alloc.c heap->size = size; heap 1799 Zend/zend_alloc.c heap->peak = peak; heap 1802 Zend/zend_alloc.c heap->real_size += new_size; heap 1807 Zend/zend_alloc.c static void zend_mm_free_huge(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 1812 Zend/zend_alloc.c size = zend_mm_del_huge_block(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 1813 Zend/zend_alloc.c zend_mm_chunk_free(heap, ptr, size); heap 1815 Zend/zend_alloc.c heap->real_size -= size; heap 1818 Zend/zend_alloc.c heap->size -= size; heap 1829 Zend/zend_alloc.c zend_mm_heap *heap; heap 1841 Zend/zend_alloc.c heap = &chunk->heap_slot; heap 1842 Zend/zend_alloc.c chunk->heap = heap; heap 1850 Zend/zend_alloc.c heap->main_chunk = chunk; heap 1851 Zend/zend_alloc.c heap->cached_chunks = NULL; heap 1852 Zend/zend_alloc.c heap->chunks_count = 1; heap 1853 Zend/zend_alloc.c heap->peak_chunks_count = 1; heap 1854 Zend/zend_alloc.c heap->cached_chunks_count = 0; heap 1855 Zend/zend_alloc.c heap->avg_chunks_count = 1.0; heap 1857 Zend/zend_alloc.c heap->real_size = ZEND_MM_CHUNK_SIZE; heap 1860 Zend/zend_alloc.c heap->real_peak = ZEND_MM_CHUNK_SIZE; heap 1861 Zend/zend_alloc.c heap->size = 0; heap 1862 Zend/zend_alloc.c heap->peak = 0; heap 1865 Zend/zend_alloc.c heap->limit = (Z_L(-1) >> Z_L(1)); heap 1866 Zend/zend_alloc.c heap->overflow = 0; heap 1869 Zend/zend_alloc.c heap->use_custom_heap = ZEND_MM_CUSTOM_HEAP_NONE; heap 1872 Zend/zend_alloc.c heap->storage = NULL; heap 1874 Zend/zend_alloc.c heap->huge_list = NULL; heap 1875 Zend/zend_alloc.c return heap; heap 1878 Zend/zend_alloc.c ZEND_API size_t zend_mm_gc(zend_mm_heap *heap) heap 1889 Zend/zend_alloc.c if (heap->use_custom_heap) { heap 1896 Zend/zend_alloc.c p = heap->free_slot[i]; heap 1899 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1924 Zend/zend_alloc.c q = &heap->free_slot[i]; heap 1928 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == heap, "zend_mm_heap corrupted"); heap 1952 Zend/zend_alloc.c chunk = heap->main_chunk; heap 1964 Zend/zend_alloc.c zend_mm_free_pages_ex(heap, chunk, i, pages_count, 0); heap 1981 Zend/zend_alloc.c zend_mm_delete_chunk(heap, chunk); heap 1986 Zend/zend_alloc.c } while (chunk != heap->main_chunk); heap 2023 Zend/zend_alloc.c static zend_long zend_mm_find_leaks(zend_mm_heap *heap, zend_mm_chunk *p, int i, zend_leak_info *leak) heap 2049 Zend/zend_alloc.c } while (p != heap->main_chunk); heap 2053 Zend/zend_alloc.c static zend_long zend_mm_find_leaks_huge(zend_mm_heap *heap, zend_mm_huge_list *list) heap 2062 Zend/zend_alloc.c zend_mm_chunk_free(heap, p->ptr, p->size); heap 2063 Zend/zend_alloc.c zend_mm_free_heap(heap, p, NULL, 0, NULL, 0); heap 2074 Zend/zend_alloc.c static void zend_mm_check_leaks(zend_mm_heap *heap) heap 2084 Zend/zend_alloc.c list = heap->huge_list; heap 2097 Zend/zend_alloc.c repeated = zend_mm_find_leaks_huge(heap, list); heap 2103 Zend/zend_alloc.c heap->huge_list = list = list->next; heap 2104 Zend/zend_alloc.c zend_mm_chunk_free(heap, q->ptr, q->size); heap 2105 Zend/zend_alloc.c zend_mm_free_heap(heap, q, NULL, 0, NULL, 0); heap 2109 Zend/zend_alloc.c p = heap->main_chunk; heap 2136 Zend/zend_alloc.c zend_mm_find_leaks(heap, p, i + bin_pages[bin_num], &leak); heap 2162 Zend/zend_alloc.c repeated = zend_mm_find_leaks(heap, p, i + pages_count, &leak); heap 2174 Zend/zend_alloc.c } while (p != heap->main_chunk); heap 2181 Zend/zend_alloc.c void zend_mm_shutdown(zend_mm_heap *heap, int full, int silent) heap 2187 Zend/zend_alloc.c if (heap->use_custom_heap) { heap 2189 Zend/zend_alloc.c if (ZEND_DEBUG && heap->use_custom_heap == ZEND_MM_CUSTOM_HEAP_DEBUG) { heap 2190 Zend/zend_alloc.c heap->custom_heap.debug._free(heap ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC); heap 2192 Zend/zend_alloc.c heap->custom_heap.std._free(heap); heap 2201 Zend/zend_alloc.c zend_mm_check_leaks(heap); heap 2206 Zend/zend_alloc.c list = heap->huge_list; heap 2207 Zend/zend_alloc.c heap->huge_list = NULL; heap 2211 Zend/zend_alloc.c zend_mm_chunk_free(heap, q->ptr, q->size); heap 2215 Zend/zend_alloc.c p = heap->main_chunk->next; heap 2216 Zend/zend_alloc.c while (p != heap->main_chunk) { heap 2218 Zend/zend_alloc.c p->next = heap->cached_chunks; heap 2219 Zend/zend_alloc.c heap->cached_chunks = p; heap 2221 Zend/zend_alloc.c heap->chunks_count--; heap 2222 Zend/zend_alloc.c heap->cached_chunks_count++; heap 2227 Zend/zend_alloc.c while (heap->cached_chunks) { heap 2228 Zend/zend_alloc.c p = heap->cached_chunks; heap 2229 Zend/zend_alloc.c heap->cached_chunks = p->next; heap 2230 Zend/zend_alloc.c zend_mm_chunk_free(heap, p, ZEND_MM_CHUNK_SIZE); heap 2233 Zend/zend_alloc.c zend_mm_chunk_free(heap, heap->main_chunk, ZEND_MM_CHUNK_SIZE); heap 2238 Zend/zend_alloc.c heap->avg_chunks_count = (heap->avg_chunks_count + (double)heap->peak_chunks_count) / 2.0; heap 2239 Zend/zend_alloc.c while ((double)heap->cached_chunks_count + 0.9 > heap->avg_chunks_count && heap 2240 Zend/zend_alloc.c heap->cached_chunks) { heap 2241 Zend/zend_alloc.c p = heap->cached_chunks; heap 2242 Zend/zend_alloc.c heap->cached_chunks = p->next; heap 2243 Zend/zend_alloc.c zend_mm_chunk_free(heap, p, ZEND_MM_CHUNK_SIZE); heap 2244 Zend/zend_alloc.c heap->cached_chunks_count--; heap 2247 Zend/zend_alloc.c p = heap->cached_chunks; heap 2256 Zend/zend_alloc.c old_heap = *heap; heap 2257 Zend/zend_alloc.c p = heap->main_chunk; heap 2259 Zend/zend_alloc.c *heap = old_heap; heap 2260 Zend/zend_alloc.c memset(heap->free_slot, 0, sizeof(heap->free_slot)); heap 2261 Zend/zend_alloc.c heap->main_chunk = p; heap 2262 Zend/zend_alloc.c p->heap = &p->heap_slot; heap 2269 Zend/zend_alloc.c heap->chunks_count = 1; heap 2270 Zend/zend_alloc.c heap->peak_chunks_count = 1; heap 2272 Zend/zend_alloc.c heap->real_size = ZEND_MM_CHUNK_SIZE; heap 2275 Zend/zend_alloc.c heap->real_peak = ZEND_MM_CHUNK_SIZE; heap 2276 Zend/zend_alloc.c heap->size = heap->peak = 0; heap 2285 Zend/zend_alloc.c ZEND_API void* ZEND_FASTCALL _zend_mm_alloc(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 2287 Zend/zend_alloc.c return zend_mm_alloc_heap(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 2290 Zend/zend_alloc.c ZEND_API void ZEND_FASTCALL _zend_mm_free(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 2292 Zend/zend_alloc.c zend_mm_free_heap(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 2295 Zend/zend_alloc.c void* ZEND_FASTCALL _zend_mm_realloc(zend_mm_heap *heap, void *ptr, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 2297 Zend/zend_alloc.c return zend_mm_realloc_heap(heap, ptr, size, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 2300 Zend/zend_alloc.c void* ZEND_FASTCALL _zend_mm_realloc2(zend_mm_heap *heap, void *ptr, size_t size, size_t copy_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 2302 Zend/zend_alloc.c return zend_mm_realloc_heap(heap, ptr, size, copy_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 2305 Zend/zend_alloc.c ZEND_API size_t ZEND_FASTCALL _zend_mm_block_size(zend_mm_heap *heap, void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) heap 2307 Zend/zend_alloc.c return zend_mm_size(heap, ptr ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 2393 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == AG(mm_heap), "zend_mm_heap corrupted"); \ heap 2405 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == AG(mm_heap), "zend_mm_heap corrupted"); \ heap 2423 Zend/zend_alloc.c ZEND_MM_CHECK(chunk->heap == AG(mm_heap) && ZEND_MM_ALIGNED_OFFSET(page_offset, ZEND_MM_PAGE_SIZE) == 0, "zend_mm_heap corrupted"); heap 2711 Zend/zend_alloc.c ZEND_API void zend_mm_set_custom_handlers(zend_mm_heap *heap, heap 2717 Zend/zend_alloc.c zend_mm_heap *_heap = (zend_mm_heap*)heap; heap 2726 Zend/zend_alloc.c ZEND_API void zend_mm_get_custom_handlers(zend_mm_heap *heap, heap 2732 Zend/zend_alloc.c zend_mm_heap *_heap = (zend_mm_heap*)heap; heap 2734 Zend/zend_alloc.c if (heap->use_custom_heap) { heap 2751 Zend/zend_alloc.c ZEND_API void zend_mm_set_custom_debug_handlers(zend_mm_heap *heap, heap 2757 Zend/zend_alloc.c zend_mm_heap *_heap = (zend_mm_heap*)heap; heap 2767 Zend/zend_alloc.c ZEND_API zend_mm_storage *zend_mm_get_storage(zend_mm_heap *heap) heap 2770 Zend/zend_alloc.c return heap->storage; heap 2786 Zend/zend_alloc.c zend_mm_heap *heap; heap 2801 Zend/zend_alloc.c heap = &chunk->heap_slot; heap 2802 Zend/zend_alloc.c chunk->heap = heap; heap 2810 Zend/zend_alloc.c heap->main_chunk = chunk; heap 2811 Zend/zend_alloc.c heap->cached_chunks = NULL; heap 2812 Zend/zend_alloc.c heap->chunks_count = 1; heap 2813 Zend/zend_alloc.c heap->peak_chunks_count = 1; heap 2814 Zend/zend_alloc.c heap->cached_chunks_count = 0; heap 2815 Zend/zend_alloc.c heap->avg_chunks_count = 1.0; heap 2817 Zend/zend_alloc.c heap->real_size = ZEND_MM_CHUNK_SIZE; heap 2820 Zend/zend_alloc.c heap->real_peak = ZEND_MM_CHUNK_SIZE; heap 2821 Zend/zend_alloc.c heap->size = 0; heap 2822 Zend/zend_alloc.c heap->peak = 0; heap 2825 Zend/zend_alloc.c heap->limit = (Z_L(-1) >> Z_L(1)); heap 2826 Zend/zend_alloc.c heap->overflow = 0; heap 2829 Zend/zend_alloc.c heap->use_custom_heap = 0; heap 2831 Zend/zend_alloc.c heap->storage = &tmp_storage; heap 2832 Zend/zend_alloc.c heap->huge_list = NULL; heap 2833 Zend/zend_alloc.c memset(heap->free_slot, 0, sizeof(heap->free_slot)); heap 2834 Zend/zend_alloc.c storage = _zend_mm_alloc(heap, sizeof(zend_mm_storage) + data_size ZEND_FILE_LINE_CC ZEND_FILE_LINE_CC); heap 2851 Zend/zend_alloc.c heap->storage = storage; heap 2852 Zend/zend_alloc.c return heap; heap 243 Zend/zend_alloc.h ZEND_API void zend_mm_shutdown(zend_mm_heap *heap, int full_shutdown, int silent); heap 244 Zend/zend_alloc.h ZEND_API void* ZEND_FASTCALL _zend_mm_alloc(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) ZEND_ATTRIBUTE_MALLOC; heap 245 Zend/zend_alloc.h ZEND_API void ZEND_FASTCALL _zend_mm_free(zend_mm_heap *heap, void *p ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 246 Zend/zend_alloc.h ZEND_API void* ZEND_FASTCALL _zend_mm_realloc(zend_mm_heap *heap, void *p, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 247 Zend/zend_alloc.h ZEND_API void* ZEND_FASTCALL _zend_mm_realloc2(zend_mm_heap *heap, void *p, size_t size, size_t copy_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 248 Zend/zend_alloc.h ZEND_API size_t ZEND_FASTCALL _zend_mm_block_size(zend_mm_heap *heap, void *p ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC); heap 250 Zend/zend_alloc.h #define zend_mm_alloc(heap, size) _zend_mm_alloc((heap), (size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 251 Zend/zend_alloc.h #define zend_mm_free(heap, p) _zend_mm_free((heap), (p) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 252 Zend/zend_alloc.h #define zend_mm_realloc(heap, p, size) _zend_mm_realloc((heap), (p), (size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 253 Zend/zend_alloc.h #define zend_mm_realloc2(heap, p, size, copy_size) _zend_mm_realloc2((heap), (p), (size), (copy_size) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 254 Zend/zend_alloc.h #define zend_mm_block_size(heap, p) _zend_mm_block_size((heap), (p) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 256 Zend/zend_alloc.h #define zend_mm_alloc_rel(heap, size) _zend_mm_alloc((heap), (size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC) heap 257 Zend/zend_alloc.h #define zend_mm_free_rel(heap, p) _zend_mm_free((heap), (p) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC) heap 258 Zend/zend_alloc.h #define zend_mm_realloc_rel(heap, p, size) _zend_mm_realloc((heap), (p), (size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC) heap 259 Zend/zend_alloc.h #define zend_mm_realloc2_rel(heap, p, size, copy_size) _zend_mm_realloc2((heap), (p), (size), (copy_size) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC) heap 260 Zend/zend_alloc.h #define zend_mm_block_size_rel(heap, p) _zend_mm_block_size((heap), (p) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC) heap 265 Zend/zend_alloc.h ZEND_API size_t zend_mm_gc(zend_mm_heap *heap); heap 272 Zend/zend_alloc.h ZEND_API void zend_mm_set_custom_handlers(zend_mm_heap *heap, heap 276 Zend/zend_alloc.h ZEND_API void zend_mm_get_custom_handlers(zend_mm_heap *heap, heap 282 Zend/zend_alloc.h ZEND_API void zend_mm_set_custom_debug_handlers(zend_mm_heap *heap, heap 307 Zend/zend_alloc.h ZEND_API zend_mm_storage *zend_mm_get_storage(zend_mm_heap *heap); heap 71 ext/spl/spl_heap.c spl_ptr_heap *heap; heap 225 ext/spl/spl_heap.c spl_ptr_heap *heap = emalloc(sizeof(spl_ptr_heap)); heap 227 ext/spl/spl_heap.c heap->dtor = dtor; heap 228 ext/spl/spl_heap.c heap->ctor = ctor; heap 229 ext/spl/spl_heap.c heap->cmp = cmp; heap 230 ext/spl/spl_heap.c heap->elements = ecalloc(PTR_HEAP_BLOCK_SIZE, sizeof(zval)); heap 231 ext/spl/spl_heap.c heap->max_size = PTR_HEAP_BLOCK_SIZE; heap 232 ext/spl/spl_heap.c heap->count = 0; heap 233 ext/spl/spl_heap.c heap->flags = 0; heap 235 ext/spl/spl_heap.c return heap; heap 239 ext/spl/spl_heap.c static void spl_ptr_heap_insert(spl_ptr_heap *heap, zval *elem, void *cmp_userdata) { /* {{{ */ heap 242 ext/spl/spl_heap.c if (heap->count+1 > heap->max_size) { heap 244 ext/spl/spl_heap.c heap->elements = erealloc(heap->elements, heap->max_size * 2 * sizeof(zval)); heap 245 ext/spl/spl_heap.c memset(heap->elements + heap->max_size, 0, heap->max_size * sizeof(zval)); heap 246 ext/spl/spl_heap.c heap->max_size *= 2; heap 250 ext/spl/spl_heap.c for (i = heap->count; i > 0 && heap->cmp(&heap->elements[(i-1)/2], elem, cmp_userdata) < 0; i = (i-1)/2) { heap 251 ext/spl/spl_heap.c heap->elements[i] = heap->elements[(i-1)/2]; heap 253 ext/spl/spl_heap.c heap->count++; heap 257 ext/spl/spl_heap.c heap->flags |= SPL_HEAP_CORRUPTED; heap 260 ext/spl/spl_heap.c ZVAL_COPY_VALUE(&heap->elements[i], elem); heap 264 ext/spl/spl_heap.c static zval *spl_ptr_heap_top(spl_ptr_heap *heap) { /* {{{ */ heap 265 ext/spl/spl_heap.c if (heap->count == 0) { heap 269 ext/spl/spl_heap.c return Z_ISUNDEF(heap->elements[0])? NULL : &heap->elements[0]; heap 273 ext/spl/spl_heap.c static void spl_ptr_heap_delete_top(spl_ptr_heap *heap, zval *elem, void *cmp_userdata) { /* {{{ */ heap 275 ext/spl/spl_heap.c const int limit = (heap->count-1)/2; heap 278 ext/spl/spl_heap.c if (heap->count == 0) { heap 283 ext/spl/spl_heap.c ZVAL_COPY_VALUE(elem, &heap->elements[0]); heap 284 ext/spl/spl_heap.c bottom = &heap->elements[--heap->count]; heap 289 ext/spl/spl_heap.c if(j != heap->count && heap->cmp(&heap->elements[j+1], &heap->elements[j], cmp_userdata) > 0) { heap 294 ext/spl/spl_heap.c if(heap->cmp(bottom, &heap->elements[j], cmp_userdata) < 0) { heap 295 ext/spl/spl_heap.c heap->elements[i] = heap->elements[j]; heap 303 ext/spl/spl_heap.c heap->flags |= SPL_HEAP_CORRUPTED; heap 306 ext/spl/spl_heap.c ZVAL_COPY_VALUE(&heap->elements[i], bottom); heap 313 ext/spl/spl_heap.c spl_ptr_heap *heap = emalloc(sizeof(spl_ptr_heap)); heap 315 ext/spl/spl_heap.c heap->dtor = from->dtor; heap 316 ext/spl/spl_heap.c heap->ctor = from->ctor; heap 317 ext/spl/spl_heap.c heap->cmp = from->cmp; heap 318 ext/spl/spl_heap.c heap->max_size = from->max_size; heap 319 ext/spl/spl_heap.c heap->count = from->count; heap 320 ext/spl/spl_heap.c heap->flags = from->flags; heap 322 ext/spl/spl_heap.c heap->elements = safe_emalloc(sizeof(zval), from->max_size, 0); heap 323 ext/spl/spl_heap.c memcpy(heap->elements, from->elements, sizeof(zval)*from->max_size); heap 325 ext/spl/spl_heap.c for (i=0; i < heap->count; ++i) { heap 326 ext/spl/spl_heap.c heap->ctor(&heap->elements[i]); heap 329 ext/spl/spl_heap.c return heap; heap 333 ext/spl/spl_heap.c static void spl_ptr_heap_destroy(spl_ptr_heap *heap) { /* {{{ */ heap 336 ext/spl/spl_heap.c for (i=0; i < heap->count; ++i) { heap 337 ext/spl/spl_heap.c heap->dtor(&heap->elements[i]); heap 340 ext/spl/spl_heap.c efree(heap->elements); heap 341 ext/spl/spl_heap.c efree(heap); heap 345 ext/spl/spl_heap.c static int spl_ptr_heap_count(spl_ptr_heap *heap) { /* {{{ */ heap 346 ext/spl/spl_heap.c return heap->count; heap 358 ext/spl/spl_heap.c spl_ptr_heap_destroy(intern->heap); heap 381 ext/spl/spl_heap.c intern->heap = spl_ptr_heap_clone(other->heap); heap 383 ext/spl/spl_heap.c intern->heap = other->heap; heap 388 ext/spl/spl_heap.c intern->heap = spl_ptr_heap_init(spl_ptr_heap_zval_max_cmp, spl_ptr_heap_zval_ctor, spl_ptr_heap_zval_dtor); heap 395 ext/spl/spl_heap.c intern->heap->cmp = spl_ptr_pqueue_zval_cmp; heap 402 ext/spl/spl_heap.c intern->heap->cmp = spl_ptr_heap_zval_min_cmp; heap 407 ext/spl/spl_heap.c intern->heap->cmp = spl_ptr_heap_zval_max_cmp; heap 474 ext/spl/spl_heap.c *count = spl_ptr_heap_count(intern->heap); heap 503 ext/spl/spl_heap.c ZVAL_BOOL(&tmp, intern->heap->flags&SPL_HEAP_CORRUPTED); heap 509 ext/spl/spl_heap.c for (i = 0; i < intern->heap->count; ++i) { heap 510 ext/spl/spl_heap.c add_index_zval(&heap_array, i, &intern->heap->elements[i]); heap 511 ext/spl/spl_heap.c if (Z_REFCOUNTED(intern->heap->elements[i])) { heap 512 ext/spl/spl_heap.c Z_ADDREF(intern->heap->elements[i]); heap 527 ext/spl/spl_heap.c *gc_data = intern->heap->elements; heap 528 ext/spl/spl_heap.c *gc_data_count = intern->heap->count; heap 557 ext/spl/spl_heap.c count = spl_ptr_heap_count(intern->heap); heap 572 ext/spl/spl_heap.c RETURN_BOOL(spl_ptr_heap_count(intern->heap) == 0); heap 589 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 595 ext/spl/spl_heap.c spl_ptr_heap_insert(intern->heap, value, getThis()); heap 613 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 618 ext/spl/spl_heap.c spl_ptr_heap_delete_top(intern->heap, return_value, getThis()); heap 640 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 652 ext/spl/spl_heap.c spl_ptr_heap_insert(intern->heap, &elem, getThis()); heap 671 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 676 ext/spl/spl_heap.c spl_ptr_heap_delete_top(intern->heap, &value, getThis()); heap 710 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 715 ext/spl/spl_heap.c value = spl_ptr_heap_top(intern->heap); heap 782 ext/spl/spl_heap.c intern->heap->flags = intern->heap->flags & ~SPL_HEAP_CORRUPTED; heap 800 ext/spl/spl_heap.c RETURN_BOOL(intern->heap->flags & SPL_HEAP_CORRUPTED); heap 831 ext/spl/spl_heap.c if (intern->heap->flags & SPL_HEAP_CORRUPTED) { heap 836 ext/spl/spl_heap.c value = spl_ptr_heap_top(intern->heap); heap 893 ext/spl/spl_heap.c return ((Z_SPLHEAP_P(&iter->data))->heap->count != 0 ? SUCCESS : FAILURE); heap 900 ext/spl/spl_heap.c zval *element = &object->heap->elements[0]; heap 902 ext/spl/spl_heap.c if (object->heap->flags & SPL_HEAP_CORRUPTED) { heap 907 ext/spl/spl_heap.c if (object->heap->count == 0 || Z_ISUNDEF_P(element)) { heap 918 ext/spl/spl_heap.c zval *element = &object->heap->elements[0]; heap 920 ext/spl/spl_heap.c if (object->heap->flags & SPL_HEAP_CORRUPTED) { heap 925 ext/spl/spl_heap.c if (object->heap->count == 0 || Z_ISUNDEF_P(element)) { heap 941 ext/spl/spl_heap.c ZVAL_LONG(key, object->heap->count - 1); heap 950 ext/spl/spl_heap.c if (object->heap->flags & SPL_HEAP_CORRUPTED) { heap 955 ext/spl/spl_heap.c spl_ptr_heap_delete_top(object->heap, &elem, &iter->data); heap 973 ext/spl/spl_heap.c RETURN_LONG(intern->heap->count - 1); heap 983 ext/spl/spl_heap.c spl_ptr_heap_delete_top(intern->heap, &elem, getThis()); heap 1003 ext/spl/spl_heap.c RETURN_BOOL(intern->heap->count != 0); heap 1023 ext/spl/spl_heap.c zval *element = &intern->heap->elements[0]; heap 1029 ext/spl/spl_heap.c if (!intern->heap->count || Z_ISUNDEF_P(element)) { heap 1043 ext/spl/spl_heap.c zval *element = &intern->heap->elements[0]; heap 1049 ext/spl/spl_heap.c if (!intern->heap->count || Z_ISUNDEF_P(element)) { heap 61665 ext/sqlite3/libsqlite/sqlite3.c u32 *heap = 0; heap 61811 ext/sqlite3/libsqlite/sqlite3.c heap = (u32*)sqlite3PageMalloc( pBt->pageSize ); heap 61813 ext/sqlite3/libsqlite/sqlite3.c if( heap==0 ){ heap 61818 ext/sqlite3/libsqlite/sqlite3.c heap[0] = 0; heap 61819 ext/sqlite3/libsqlite/sqlite3.c btreeHeapInsert(heap, contentOffset-1); heap 61839 ext/sqlite3/libsqlite/sqlite3.c btreeHeapInsert(heap, (pc<<16)|(pc+size-1)); heap 61851 ext/sqlite3/libsqlite/sqlite3.c btreeHeapInsert(heap, (i<<16)|(i+size-1)); heap 61864 ext/sqlite3/libsqlite/sqlite3.c assert( heap[0]>0 ); heap 61865 ext/sqlite3/libsqlite/sqlite3.c assert( (heap[1]>>16)==0 ); heap 61866 ext/sqlite3/libsqlite/sqlite3.c btreeHeapPull(heap,&prev); heap 61867 ext/sqlite3/libsqlite/sqlite3.c while( btreeHeapPull(heap,&x) ){ heap 61883 ext/sqlite3/libsqlite/sqlite3.c if( heap[0]==0 && cnt!=data[hdr+7] ){ heap 61889 ext/sqlite3/libsqlite/sqlite3.c sqlite3PageFree(heap); heap 148 sapi/cli/php_cli_server.c struct { void *block; char *p; size_t len; } heap; heap 852 sapi/cli/php_cli_server.c return chunk->data.heap.len; heap 863 sapi/cli/php_cli_server.c if (chunk->data.heap.block != chunk) { heap 864 sapi/cli/php_cli_server.c pefree(chunk->data.heap.block, 1); heap 944 sapi/cli/php_cli_server.c chunk->data.heap.block = block; heap 945 sapi/cli/php_cli_server.c chunk->data.heap.p = buf; heap 946 sapi/cli/php_cli_server.c chunk->data.heap.len = len; heap 959 sapi/cli/php_cli_server.c chunk->data.heap.block = chunk; heap 960 sapi/cli/php_cli_server.c chunk->data.heap.p = (char *)(chunk + 1); heap 961 sapi/cli/php_cli_server.c chunk->data.heap.len = len; heap 991 sapi/cli/php_cli_server.c nbytes_sent = send(fd, chunk->data.heap.p, (int)chunk->data.heap.len, 0); heap 993 sapi/cli/php_cli_server.c nbytes_sent = send(fd, chunk->data.heap.p, chunk->data.heap.len, 0); heap 998 sapi/cli/php_cli_server.c } else if (nbytes_sent == chunk->data.heap.len) { heap 1006 sapi/cli/php_cli_server.c chunk->data.heap.p += nbytes_sent; heap 1007 sapi/cli/php_cli_server.c chunk->data.heap.len -= nbytes_sent; heap 1050 sapi/cli/php_cli_server.c _nbytes_read = read(fd, chunk->data.heap.p, (unsigned int)chunk->data.heap.len); heap 1052 sapi/cli/php_cli_server.c _nbytes_read = read(fd, chunk->data.heap.p, chunk->data.heap.len); heap 1062 sapi/cli/php_cli_server.c chunk->data.heap.len = _nbytes_read; heap 1850 sapi/cli/php_cli_server.c snprintf(chunk->data.heap.p, chunk->data.heap.len, prologue_template, status, status_string, ZSTR_VAL(escaped_request_uri)); heap 1851 sapi/cli/php_cli_server.c chunk->data.heap.len = strlen(chunk->data.heap.p); heap 1874 sapi/cli/php_cli_server.c snprintf(chunk->data.heap.p, chunk->data.heap.len, content_template, status_string, ZSTR_VAL(escaped_request_uri)); heap 1875 sapi/cli/php_cli_server.c chunk->data.heap.len = strlen(chunk->data.heap.p); heap 1268 sapi/phpdbg/phpdbg.c zend_mm_heap *heap = zend_mm_get_heap(); heap 1269 sapi/phpdbg/phpdbg.c if (UNEXPECTED(heap == p)) { heap 1275 sapi/phpdbg/phpdbg.c return _zend_mm_free(heap, p ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC); heap 346 sapi/phpdbg/phpdbg_info.c zend_mm_heap *heap; heap 350 sapi/phpdbg/phpdbg_info.c heap = zend_mm_set_heap(phpdbg_original_heap_sigsafe_mem()); heap 359 sapi/phpdbg/phpdbg_info.c zend_mm_set_heap(heap); heap 42 sapi/phpdbg/phpdbg_sigsafe.c mem->heap = zend_mm_startup_ex(&phpdbg_handlers, NULL, 0); heap 44 sapi/phpdbg/phpdbg_sigsafe.c mem->old_heap = zend_mm_set_heap(mem->heap); heap 11 sapi/phpdbg/phpdbg_sigsafe.h zend_mm_heap *heap; heap 33 sapi/phpdbg/phpdbg_win.h void phpdbg_win_set_mm_heap(zend_mm_heap *heap);