Adding fixes for the fork based implementation, also removed some redundant code...
[model-checker.git] / mymemory.h
index 2bec138381e45768d9d6f2129824eca9ebdc23e9..f928797bc30f4aac90b45d25a342ab588cfa6a14 100644 (file)
@@ -2,22 +2,29 @@
 #define _MY_MEMORY_H
 #include <stdlib.h>
 #include <limits>
-#define MEMALLOC void *operator new( size_t size ){ \
-                                                                                                                                       return MYMALLOC( size );\
-                                                                                                                                       }\
-                                                          void operator delete( void *p, size_t size ){ \
-                                                                                                                                       MYFREE( p ); \
-                                                                                                                                       }\
-                 void *operator new[]( size_t size ){ \
-                                  return MYMALLOC( size );\
-                                  }\
-                 void operator delete[]( void *p, size_t size ){\
-                                  MYFREE( p );\
-                                  }
 
+#define MEMALLOC \
+       void * operator new(size_t size) { \
+               return MYMALLOC(size);\
+       }\
+       void operator delete(void *p, size_t size) { \
+               MYFREE( p ); \
+       }\
+       void * operator new[](size_t size) { \
+               return MYMALLOC(size);\
+       }\
+       void operator delete[](void *p, size_t size) {\
+               MYFREE(p);\
+       }
+
+/* Empty define; represents opposite of MEMALLOC */
+#define SNAPSHOTALLOC
 
 void *MYMALLOC(size_t size);
 void MYFREE(void *ptr);
+
+void system_free( void * ptr );
+void *system_malloc( size_t size );
 /*
 The following code example is taken from the book
 The C++ Standard Library - A Tutorial and Reference
@@ -114,10 +121,14 @@ extern "C" {
 typedef void * mspace;
 extern void* mspace_malloc(mspace msp, size_t bytes);
 extern void mspace_free(mspace msp, void* mem);
+extern void* mspace_realloc(mspace msp, void* mem, size_t newsize);
+extern void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size);
 extern mspace create_mspace_with_base(void* base, size_t capacity, int locked);
 extern mspace create_mspace(size_t capacity, int locked);
 extern mspace mySpace;
+extern void * basemySpace;
 #ifdef __cplusplus
 };  /* end of extern "C" */
 #endif
-#endif
+
+#endif /* _MY_MEMORY_H */