7#ifndef OM_ALLOC_SYSTEM_C
8#define OM_ALLOC_SYSTEM_C
17#include "omDefaultConfig.h"
23#define OM_MALLOC_FROM_SYSTEM OM_MALLOC_MALLOC
24#define OM_REALLOC_FROM_SYSTEM OM_MALLOC_REALLOC
25#define OM_FREE_TO_SYSTEM OM_MALLOC_FREE
34#if defined(HAVE_MALLOC_SIZE) || defined(HAVE_MALLOC_USABLE_SIZE)
38 #elif defined(HAVE_MALLOC_MALLOC_H)
39 #include <malloc/malloc.h>
43#if defined(HAVE_MALLOC_SIZE)
44 #define _omSizeOfLargeAddr(addr) (malloc_size(addr))
45#elif defined(HAVE_MALLOC_USABLE_SIZE)
46 #define _omSizeOfLargeAddr(addr) (malloc_usable_size(addr))
53 *((
size_t*) addr) =
size;
79#define _omSizeOfLargeAddr(addr) (*((size_t*) ((char*) addr - SIZEOF_STRICT_ALIGNMENT)))
140#ifdef OM_HAVE_VALLOC_MMAP
144#define OM_VALLOC_FROM_SYSTEM omVallocMmap
145#define OM_VFREE_TO_SYSTEM omVfreeMmap
147#elif defined(OM_HAVE_VALLOC_MALLOC)
149#define OM_VALLOC_FROM_SYSTEM OM_MALLOC_VALLOC
150#define OM_VFREE_TO_SYSTEM OM_MALLOC_VFREE
154#define OM_VALLOC_FROM_SYSTEM omEmulateValloc
155#define OM_VFREE_TO_SYSTEM omEmulateVfree
157#define OM_ALIGN_PAGE(addr) ( ((long)addr + (SIZEOF_SYSTEM_PAGE -1)) & ~(SIZEOF_SYSTEM_PAGE - 1))
209#if defined(HAVE_MALLOC_SIZE) || defined(HAVE_MALLOC_USABLE_SIZE)
225#if defined(OM_HAVE_VALLOC_MMAP) && defined(OM_MALLOC_MAX_BYTES_SYSTEM)
229#if defined(HAVE_SBRK) && !defined(OM_MALLOC_MAX_BYTES_SBRK)
233 +
om_Info.CurrentBytesFromValloc
286#if defined(OM_HAVE_VALLOC_MMAP) && defined(OM_MALLOC_MAX_BYTES_SYSTEM)
290#if defined(HAVE_SBRK) && !defined(OM_MALLOC_MAX_BYTES_SBRK)
293 +
om_Info.CurrentBytesFromValloc
350#if defined(OM_HAVE_VALLOC_MMAP) && defined(OM_MALLOC_MAX_BYTES_SYSTEM)
354#if defined(HAVE_SBRK) && !defined(OM_HAVE_VALLOC_MMAP) && !defined(OM_MALLOC_MAX_BYTES_SBRK)
360 +
om_Info.CurrentBytesFromValloc);
#define omSizeOfBinAddr(addr)
#define omSizeWOfBinAddr(addr)
void * _omVallocFromSystem(size_t size, int fail)
void * omAllocFromSystem(size_t size)
void omEmulateVfree(void *addr, size_t size)
void * omReallocFromSystem(void *addr, size_t newsize)
void * omEmulateValloc(size_t size)
void omVfreeToSystem(void *page, size_t size)
size_t omSizeOfLargeAddr(void *addr)
#define OM_REALLOC_FROM_SYSTEM
void omFreeLarge(void *addr)
void * omRealloc0Large(void *old_addr, size_t new_size)
void omFreeSizeToSystem(void *addr, size_t size)
#define OM_ALIGN_PAGE(addr)
#define OM_VFREE_TO_SYSTEM
void * omReallocLarge(void *old_addr, size_t new_size)
size_t omSizeOfAddr(const void *addr)
#define OM_FREE_TO_SYSTEM
void omFreeToSystem(void *addr)
void * omAllocLarge(size_t size)
#define _omSizeOfLargeAddr(addr)
void * omReallocSizeFromSystem(void *addr, size_t oldsize, size_t newsize)
#define OM_MALLOC_FROM_SYSTEM
#define OM_VALLOC_FROM_SYSTEM
void * omAlloc0Large(size_t size)
#define omIsBinPageAddr(addr)
#define omIsAddrPageAligned(addr)
#define omIsBinAddrTrackAddr(addr)
unsigned long om_SbrkInit