* @brief Memory allocation functions.
*/
-#ifndef _MY_MEMORY_H
-#define _MY_MEMORY_H
+#ifndef CSAT_MY_MEMORY_H
+#define CSAT_MY_MEMORY_H
#include <limits.h>
#include <stddef.h>
#include <stdlib.h>
#include "config.h"
-/** MEMALLOC declares the allocators for a class to allocate
- * memory in the non-snapshotting heap. */
/*
-#define MEMALLOC \
- void * operator new(size_t size) { \
- return model_malloc(size); \
- } \
- void operator delete(void *p, size_t size) { \
- model_free(p); \
- } \
- void * operator new[](size_t size) { \
- return model_malloc(size); \
- } \
- void operator delete[](void *p, size_t size) { \
- model_free(p); \
- } \
- void * operator new(size_t size, void *p) { \
- return p; \
- }
-*/
+ void * ourmalloc(size_t size);
+ void ourfree(void *ptr);
+ void * ourcalloc(size_t count, size_t size);
+ void * ourrealloc(void *ptr, size_t size);
+ */
-void * ourmalloc(size_t size);
-void ourfree(void *ptr);
-void * ourcalloc(size_t count, size_t size);
-void * ourrealloc(void *ptr, size_t size);
+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); }
-void *model_malloc(size_t size);
-void *model_calloc(size_t count, size_t size);
-void * model_realloc(void *ptr, size_t size);
-void model_free(void *ptr);
+#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 */