| 1560 | } |
| 1561 | |
| 1562 | void * |
| 1563 | arena_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment, |
| 1564 | bool zero, tcache_t *tcache) { |
| 1565 | void *ret; |
| 1566 | |
| 1567 | if (usize <= SMALL_MAXCLASS && (alignment < PAGE || (alignment == PAGE |
| 1568 | && (usize & PAGE_MASK) == 0))) { |
| 1569 | /* Small; alignment doesn't require special slab placement. */ |
| 1570 | ret = arena_malloc(tsdn, arena, usize, sz_size2index(usize), |
| 1571 | zero, tcache, true); |
| 1572 | } else { |
| 1573 | if (likely(alignment <= CACHELINE)) { |
| 1574 | ret = large_malloc(tsdn, arena, usize, zero); |
| 1575 | } else { |
| 1576 | ret = large_palloc(tsdn, arena, usize, alignment, zero); |
| 1577 | } |
| 1578 | } |
| 1579 | return ret; |
| 1580 | } |
| 1581 | |
| 1582 | void |
| 1583 | arena_prof_promote(tsdn_t *tsdn, const void *ptr, size_t usize) { |
no test coverage detected