GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

No menu could be recovered. Follow the blue links in the page.

This view

  • Original page
  • New address

GeezerVison is showing microsoft.github.io — mi-malloc: Zero initialized re-allocation

Logo
mi-malloc 3.6/2.5/1.15
Loading...
Searching...
No Matches
Zero initialized re-allocation

Re-allocation of zero initialized blocks. More...

Functions

void * mi_recalloc (void *p, size_t count, size_t size)
 Re-allocate memory to count elements of size bytes, with extra memory initialized to zero.
void * mi_rezalloc (void *p, size_t newsize)
void * mi_rezalloc_aligned (void *p, size_t newsize, size_t alignment)
void * mi_rezalloc_aligned_at (void *p, size_t newsize, size_t alignment, size_t offset)
void * mi_recalloc_aligned (void *p, size_t newcount, size_t size, size_t alignment)
void * mi_recalloc_aligned_at (void *p, size_t newcount, size_t size, size_t alignment, size_t offset)
void * mi_heap_rezalloc (mi_heap_t *heap, void *p, size_t newsize)
void * mi_heap_recalloc (mi_heap_t *heap, void *p, size_t newcount, size_t size)
void * mi_heap_rezalloc_aligned (mi_heap_t *heap, void *p, size_t newsize, size_t alignment)
void * mi_heap_rezalloc_aligned_at (mi_heap_t *heap, void *p, size_t newsize, size_t alignment, size_t offset)
void * mi_heap_recalloc_aligned (mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment)
void * mi_heap_recalloc_aligned_at (mi_heap_t *heap, void *p, size_t newcount, size_t size, size_t alignment, size_t offset)

Detailed Description

Re-allocation of zero initialized blocks.

The zero-initialized re-allocations are only valid on memory that was originally allocated with zero initialization too, e.g. mi_calloc, mi_zalloc, mi_zalloc_aligned etc. see also https://github.com/microsoft/mimalloc/issues/63#issuecomment-508272992

Function Documentation

◆ mi_heap_recalloc()

void * mi_heap_recalloc ( mi_heap_t * heap,
void * p,
size_t newcount,
size_t size )

◆ mi_heap_recalloc_aligned()

void * mi_heap_recalloc_aligned ( mi_heap_t * heap,
void * p,
size_t newcount,
size_t size,
size_t alignment )

◆ mi_heap_recalloc_aligned_at()

void * mi_heap_recalloc_aligned_at ( mi_heap_t * heap,
void * p,
size_t newcount,
size_t size,
size_t alignment,
size_t offset )

◆ mi_heap_rezalloc()

void * mi_heap_rezalloc ( mi_heap_t * heap,
void * p,
size_t newsize )

◆ mi_heap_rezalloc_aligned()

void * mi_heap_rezalloc_aligned ( mi_heap_t * heap,
void * p,
size_t newsize,
size_t alignment )

◆ mi_heap_rezalloc_aligned_at()

void * mi_heap_rezalloc_aligned_at ( mi_heap_t * heap,
void * p,
size_t newsize,
size_t alignment,
size_t offset )

◆ mi_recalloc()

void * mi_recalloc ( void * p,
size_t count,
size_t size )

Re-allocate memory to count elements of size bytes, with extra memory initialized to zero.

Parameters
pPointer to a previously allocated block (or NULL).
countThe number of elements.
sizeThe size of each element.
Returns
A pointer to a re-allocated block of count * size bytes, or NULL if out of memory or if count * size overflows.

If there is no overflow, it behaves exactly like mi_rezalloc(p,count*size).

See also
mi_reallocn()
recallocarray() (on BSD).

◆ mi_recalloc_aligned()

void * mi_recalloc_aligned ( void * p,
size_t newcount,
size_t size,
size_t alignment )

◆ mi_recalloc_aligned_at()

void * mi_recalloc_aligned_at ( void * p,
size_t newcount,
size_t size,
size_t alignment,
size_t offset )

◆ mi_rezalloc()

void * mi_rezalloc ( void * p,
size_t newsize )

◆ mi_rezalloc_aligned()

void * mi_rezalloc_aligned ( void * p,
size_t newsize,
size_t alignment )

◆ mi_rezalloc_aligned_at()

void * mi_rezalloc_aligned_at ( void * p,
size_t newsize,
size_t alignment,
size_t offset )
  • Generated by doxygen 1.18.0
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.