From: Brian Norris <banorris@uci.edu>
Date: Wed, 3 Oct 2012 18:15:05 +0000 (-0700)
Subject: mymemory: define SNAPSHOTALLOC appropriately
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8497408d26002ec1a9d7cfd42458f92f2cdd9864;p=cdsspec-compiler.git

mymemory: define SNAPSHOTALLOC appropriately

SNAPSHOTALLOC can be filled in with meaningful allocators, rather than
using the global default allocators.
---

diff --git a/mymemory.h b/mymemory.h
index c49984f..1d4c123 100644
--- a/mymemory.h
+++ b/mymemory.h
@@ -11,21 +11,33 @@
  *	memory in the non-snapshotting heap. */
 #define MEMALLOC \
 	void * operator new(size_t size) { \
-		return model_malloc(size);\
-	}\
+		return model_malloc(size); \
+	} \
 	void operator delete(void *p, size_t size) { \
-		model_free( p ); \
-	}\
+		model_free(p); \
+	} \
 	void * operator new[](size_t size) { \
-		return model_malloc(size);\
-	}\
-	void operator delete[](void *p, size_t size) {\
-		model_free(p);\
+		return model_malloc(size); \
+	} \
+	void operator delete[](void *p, size_t size) { \
+		model_free(p); \
 	}
 
 /** SNAPSHOTALLOC declares the allocators for a class to allocate
  *	memory in the snapshotting heap. */
-#define SNAPSHOTALLOC
+#define SNAPSHOTALLOC \
+	void * operator new(size_t size) { \
+		return snapshot_malloc(size); \
+	} \
+	void operator delete(void *p, size_t size) { \
+		snapshot_free(p); \
+	} \
+	void * operator new[](size_t size) { \
+		return snapshot_malloc(size); \
+	} \
+	void operator delete[](void *p, size_t size) { \
+		snapshot_free(p); \
+	}
 
 void *model_malloc(size_t size);
 void *model_calloc(size_t count, size_t size);