X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2Fmymemory.h;h=7c63aa11c10edb99f259ab9a11fffcae8df89794;hb=65092ed0458d0752b5b8b3defb90d012dca634b1;hp=b778c48ae482aa383dc8d0ca6c506998bac77701;hpb=4221735881b9d1cd53ef410d9448efd2d12a51ad;p=satune.git diff --git a/src/mymemory.h b/src/mymemory.h index b778c48..7c63aa1 100644 --- a/src/mymemory.h +++ b/src/mymemory.h @@ -11,8 +11,8 @@ * @brief Memory allocation functions. */ -#ifndef _MY_MEMORY_H -#define _MY_MEMORY_H +#ifndef CSAT_MY_MEMORY_H +#define CSAT_MY_MEMORY_H #include #include #include @@ -24,11 +24,42 @@ void ourfree(void *ptr); void * ourcalloc(size_t count, size_t size); void * ourrealloc(void *ptr, size_t size); - */ +*/ + +#if 0 +void * model_malloc(size_t size); +void model_free(void *ptr); +void * model_calloc(size_t count, size_t size); +void * model_realloc(void *ptr, size_t size); + +#define ourmalloc model_malloc +#define ourfree model_free +#define ourrealloc model_realloc +#define ourcalloc model_calloc + +#else static inline void *ourmalloc(size_t size) { return malloc(size); } static inline void ourfree(void *ptr) { free(ptr); } static inline void *ourcalloc(size_t count, size_t size) { return calloc(count, size); } static inline void *ourrealloc(void *ptr, size_t size) { return realloc(ptr, size); } +#endif + +#define CMEMALLOC \ + void *operator new(size_t size) { \ + return ourmalloc(size); \ + } \ + void operator delete(void *p, size_t size) { \ + ourfree(p); \ + } \ + void *operator new[](size_t size) { \ + return ourmalloc(size); \ + } \ + void operator delete[](void *p, size_t size) { \ + ourfree(p); \ + } \ + void *operator new(size_t size, void *p) { /* placement new */ \ + return p; \ + } #endif/* _MY_MEMORY_H */