mirror of
https://github.com/php/php-src.git
synced 2024-11-28 04:14:26 +08:00
micro optimisation
This commit is contained in:
parent
3430a1cc9b
commit
880694952f
@ -1054,7 +1054,7 @@ found:
|
||||
return ZEND_MM_PAGE_ADDR(chunk, page_num);
|
||||
}
|
||||
|
||||
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)
|
||||
static zend_always_inline void *zend_mm_alloc_large_ex(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
|
||||
{
|
||||
int pages_count = (int)ZEND_MM_SIZE_TO_NUM(size, ZEND_MM_PAGE_SIZE);
|
||||
#if ZEND_DEBUG
|
||||
@ -1073,6 +1073,18 @@ static zend_always_inline void *zend_mm_alloc_large(zend_mm_heap *heap, size_t s
|
||||
return ptr;
|
||||
}
|
||||
|
||||
#if ZEND_DEBUG
|
||||
static zend_never_inline void *zend_mm_alloc_large(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
|
||||
{
|
||||
return zend_mm_alloc_large_ex(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
|
||||
}
|
||||
#else
|
||||
static zend_never_inline void *zend_mm_alloc_large(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
|
||||
{
|
||||
return zend_mm_alloc_large_ex(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
|
||||
}
|
||||
#endif
|
||||
|
||||
static zend_always_inline void zend_mm_delete_chunk(zend_mm_heap *heap, zend_mm_chunk *chunk)
|
||||
{
|
||||
chunk->next->prev = chunk->prev;
|
||||
@ -1122,7 +1134,7 @@ static zend_always_inline void zend_mm_free_pages_ex(zend_mm_heap *heap, zend_mm
|
||||
}
|
||||
}
|
||||
|
||||
static void zend_mm_free_pages(zend_mm_heap *heap, zend_mm_chunk *chunk, int page_num, int pages_count)
|
||||
static zend_never_inline void zend_mm_free_pages(zend_mm_heap *heap, zend_mm_chunk *chunk, int page_num, int pages_count)
|
||||
{
|
||||
zend_mm_free_pages_ex(heap, chunk, page_num, pages_count, 1);
|
||||
}
|
||||
@ -1340,7 +1352,7 @@ static zend_always_inline void *zend_mm_alloc_heap(zend_mm_heap *heap, size_t si
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
if (size <= ZEND_MM_MAX_SMALL_SIZE) {
|
||||
if (EXPECTED(size <= ZEND_MM_MAX_SMALL_SIZE)) {
|
||||
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);
|
||||
#if ZEND_DEBUG
|
||||
dbg = zend_mm_get_debug_info(heap, ptr);
|
||||
@ -1351,7 +1363,7 @@ static zend_always_inline void *zend_mm_alloc_heap(zend_mm_heap *heap, size_t si
|
||||
dbg->orig_lineno = __zend_orig_lineno;
|
||||
#endif
|
||||
return ptr;
|
||||
} else if (size <= ZEND_MM_MAX_LARGE_SIZE) {
|
||||
} else if (EXPECTED(size <= ZEND_MM_MAX_LARGE_SIZE)) {
|
||||
ptr = zend_mm_alloc_large(heap, size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
|
||||
#if ZEND_DEBUG
|
||||
dbg = zend_mm_get_debug_info(heap, ptr);
|
||||
@ -2409,7 +2421,7 @@ ZEND_MM_BINS_INFO(_ZEND_BIN_ALLOCATOR, x, y)
|
||||
ZEND_API void* ZEND_FASTCALL _emalloc_large(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC)
|
||||
{
|
||||
ZEND_MM_CUSTOM_ALLOCATOR(size);
|
||||
return zend_mm_alloc_large(AG(mm_heap), size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
|
||||
return zend_mm_alloc_large_ex(AG(mm_heap), size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
|
||||
}
|
||||
|
||||
ZEND_API void* ZEND_FASTCALL _emalloc_huge(size_t size)
|
||||
|
Loading…
Reference in New Issue
Block a user