56 #ifdef NO_WIN32_LEAN_AND_MEAN 57 #undef WIN32_LEAN_AND_MEAN 59 #ifndef WIN32_LEAN_AND_MEAN 60 #define WIN32_LEAN_AND_MEAN 61 #define DEFINED_WIN32_LEAN_AND_MEAN 65 #ifdef DEFINED_WIN32_LEAN_AND_MEAN 66 #undef WIN32_LEAN_AND_MEAN 67 #undef DEFINED_WIN32_LEAN_AND_MEAN 69 #undef NO_WIN32_LEAN_AND_MEAN 74 #if defined(__orxGCC__) || defined(__orxLLVM__) 75 #define orxMEMORY_BARRIER() __sync_synchronize() 76 #define orxHAS_MEMORY_BARRIER 77 #elif defined(__orxMSVC__) 78 #define orxMEMORY_BARRIER() MemoryBarrier() 79 #define orxHAS_MEMORY_BARRIER 81 #define orxMEMORY_BARRIER() 82 #undef orxHAS_MEMORY_BARRIER 84 #warning !!WARNING!! This compiler does not have any hardware memory barrier builtin. 89 #ifdef __orxPROFILER__ 90 #define orxMEMORY_TRACK(TYPE, SIZE, ALLOCATE) orxMemory_Track(orxMEMORY_TYPE_##TYPE, SIZE, ALLOCATE) 92 #define orxMEMORY_TRACK(TYPE, SIZE, ALLOCATE) 98 typedef enum __orxMEMORY_TYPE_t
159 static orxINLINE
void *
orxMemory_Copy(
void *_pDest,
const void *_pSrc, orxU32 _u32Size)
166 return((
void *)memcpy(_pDest, _pSrc, (
size_t)_u32Size));
175 static orxINLINE
void *
orxMemory_Move(
void *_pDest,
void *_pSrc, orxU32 _u32Size)
182 return((
void *)memmove(_pDest, _pSrc, (
size_t)_u32Size));
191 static orxINLINE orxU32
orxMemory_Compare(
const void *_pMem1,
const void *_pMem2, orxU32 _u32Size)
198 return((orxU32)memcmp(_pMem1, _pMem2, (
size_t)_u32Size));
207 static orxINLINE
void *
orxMemory_Set(
void *_pDest, orxU8 _u8Data, orxU32 _u32Size)
213 return((
void *)memset(_pDest, _u8Data, (
size_t)_u32Size));
227 return((
void *)memset(_pDest, 0, (
size_t)_u32Size));
244 #ifdef __orxPROFILER__ 255 extern orxDLLAPI orxSTATUS orxFASTCALL orxMemory_GetUsage(
orxMEMORY_TYPE _eMemType, orxU32 *_pu32Count, orxU32 *_pu32PeakCount, orxU32 *_pu32Size, orxU32 *_pu32PeakSize, orxU32 *_pu32OperationCount);
orxDLLAPI void *orxFASTCALL orxMemory_Allocate(orxU32 _u32Size, orxMEMORY_TYPE _eMemType)
static orxINLINE void * orxMemory_Move(void *_pDest, void *_pSrc, orxU32 _u32Size)
orxDLLAPI void orxFASTCALL orxMemory_Setup()
orxDLLAPI void *orxFASTCALL orxMemory_Reallocate(void *_pMem, orxU32 _u32Size)
orxDLLAPI orxSTATUS orxFASTCALL orxMemory_Init()
static orxINLINE void * orxMemory_Zero(void *_pDest, orxU32 _u32Size)
static orxINLINE void * orxMemory_Set(void *_pDest, orxU8 _u8Data, orxU32 _u32Size)
orxDLLAPI const orxSTRING orxFASTCALL orxMemory_GetTypeName(orxMEMORY_TYPE _eMemType)
orxDLLAPI void orxFASTCALL orxMemory_Free(void *_pMem)
static orxINLINE void * orxMemory_Copy(void *_pDest, const void *_pSrc, orxU32 _u32Size)
static orxINLINE orxU32 orxMemory_Compare(const void *_pMem1, const void *_pMem2, orxU32 _u32Size)
orxDLLAPI void orxFASTCALL orxMemory_Exit()
#define orxASSERT(TEST,...)
orxDLLAPI orxU32 orxFASTCALL orxMemory_GetCacheLineSize()