22#include "omalloc/omTables.inc"
49 tmp = *((
void**)
tmp) = ((
void**)
tmp) + bin->sizeW;
54 (bin->max_blocks > 1 ? bin->max_blocks : 1));
61 if (bin->current_page ==
page)
68 bin->last_page =
NULL;
72 bin->current_page =
page->prev;
75 bin->current_page =
page->next;
77 if (bin->last_page ==
page)
80 bin->last_page =
page->prev;
97 bin->current_page =
page;
98 bin->last_page =
page;
103 if (
after == bin->last_page)
105 bin->last_page =
page;
133 bin->current_page->used_blocks = 0;
137 if (!bin->sticky && bin->current_page->next !=
NULL)
140 newpage = bin->current_page->next;
173 if (
page->used_blocks < 0L)
181 if ((
page->current !=
NULL) || (bin->max_blocks <= 1))
186 if (bin->max_blocks > 0)
197 page->current = addr;
198 page->used_blocks = bin->max_blocks - 2;
199 *((
void**)addr) =
NULL;
202#if defined(PAGE_BEFORE_CURRENT)
203 if (bin->current_page->prev !=
NULL)
207 bin->current_page =
page;
209# if defined(PAGE_AFTER_CURRENT)
223#ifdef OM_ALIGNMNET_NEEDS_WORK
224#define DO_ZERO(flag) (flag & 1)
226#define DO_ZERO(flag) flag
247#ifdef OM_ALIGNMENT_NEEDS_WORK
#define omSetTopBinAndStickyOfPage(page, bin, sticky)
#define SIZEOF_OM_BIN_PAGE_HEADER
#define __omTypeAllocFromNonEmptyPage(type, addr, page)
#define __omTypeAlloc(type, addr, size)
#define __omTypeAllocAligned
#define __omFreeSize(addr, size)
void * omRealloc0Large(void *old_addr, size_t new_size)
void * omReallocLarge(void *old_addr, size_t new_size)
size_t omSizeOfAddr(const void *addr)
void omFreeBinPages(omBinPage bin_page, int how_many)
omBinPage omAllocBinPages(int how_many)
omBinPage omAllocBinPage()
#define omIsBinPageAddr(addr)
#define omIsAddrPageAligned(addr)
#define omFreeBinPage(addr)
OM_INLINE_DECL omBin omGetBinOfPage(omBinPage page)
#define omListLength(ptr)
#define omMemcpyW(p1, p2, l)
#define omMemsetW(P1, W, L)
#define OM_MAX_BLOCK_SIZE
omBinPage_t om_ZeroPage[]
void * omAllocBinFromFullPage(omBin bin)
OM_INLINE_LOCAL void omInsertBinPage(omBinPage after, omBinPage page, omBin bin)
OM_INLINE_LOCAL void omTakeOutBinPage(omBinPage page, omBin bin)
void omFreeToPageFault(omBinPage page, void *addr)
static omBinPage omAllocNewBinPage(omBin bin)
void * omDoRealloc(void *old_addr, size_t new_size, int flag)