Lines Matching refs:alignment

156 #define ZEND_MM_ALIGNED_OFFSET(size, alignment) \  argument
157 (((size_t)(size)) & ((alignment) - 1))
158 #define ZEND_MM_ALIGNED_BASE(size, alignment) \ argument
159 (((size_t)(size)) & ~((alignment) - 1))
160 #define ZEND_MM_SIZE_TO_NUM(size, alignment) \ argument
161 (((size_t)(size) + ((alignment) - 1)) / (alignment))
713 static void *zend_mm_chunk_alloc_int(size_t size, size_t alignment) argument
719 } else if (ZEND_MM_ALIGNED_OFFSET(ptr, alignment) == 0) {
732 ptr = zend_mm_mmap(size + alignment - REAL_PAGE_SIZE);
734 offset = ZEND_MM_ALIGNED_OFFSET(ptr, alignment);
736 offset = alignment - offset;
738 zend_mm_munmap(ptr, size + alignment - REAL_PAGE_SIZE);
741 ptr = zend_mm_mmap(size + alignment - REAL_PAGE_SIZE);
745 offset = ZEND_MM_ALIGNED_OFFSET(ptr, alignment);
747 ptr = (void*)((char*)ptr + alignment - offset);
752 offset = ZEND_MM_ALIGNED_OFFSET(ptr, alignment);
754 offset = alignment - offset;
757 alignment -= offset;
759 if (alignment > REAL_PAGE_SIZE) {
760 zend_mm_munmap((char*)ptr + size, alignment - REAL_PAGE_SIZE);
773 static void *zend_mm_chunk_alloc(zend_mm_heap *heap, size_t size, size_t alignment) argument
777 void *ptr = heap->storage->handlers.chunk_alloc(heap->storage, size, alignment);
778 ZEND_ASSERT(((uintptr_t)((char*)ptr + (alignment-1)) & (alignment-1)) == (uintptr_t)ptr);
782 return zend_mm_chunk_alloc_int(size, alignment);
1822 size_t alignment = MAX(REAL_PAGE_SIZE, ZEND_MM_CHUNK_SIZE); local
1824 size_t alignment = REAL_PAGE_SIZE;
1826 size_t new_size = ZEND_MM_ALIGNED_SIZE_EX(size, alignment);
1830 …r_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu + %zu)", size, alignment);