15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Alloc.h -- Memory allocation functions 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)2009-02-07 : Igor Pavlov : Public domain */ 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __COMMON_ALLOC_H 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __COMMON_ALLOC_H 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stddef.h> 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void *MyAlloc(size_t size); 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MyFree(void *address); 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef _WIN32 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void SetLargePageSize(); 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void *MidAlloc(size_t size); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MidFree(void *address); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void *BigAlloc(size_t size); 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void BigFree(void *address); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define MidAlloc(size) MyAlloc(size) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define MidFree(address) MyFree(address) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BigAlloc(size) MyAlloc(size) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define BigFree(address) MyFree(address) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 39