diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-06-25 13:14:37 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-06-25 13:14:37 +0400 |
commit | cc0784c1b9c4d813837dedddd5b2b4c52fe291f0 (patch) | |
tree | c898623170b1576dddeb38f1ef30aa3cc83d6567 /intern | |
parent | 78196d60d1a4585c613f822040f7dc339b9558b4 (diff) |
optionally use guarded alloc for tiles compositor, also replace allocation functions with a macro.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/ghost/GHOST_IEvent.h | 8 | ||||
-rw-r--r-- | intern/ghost/GHOST_IEventConsumer.h | 4 | ||||
-rw-r--r-- | intern/ghost/GHOST_IWindow.h | 4 | ||||
-rw-r--r-- | intern/ghost/GHOST_Rect.h | 4 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowManager.h | 4 | ||||
-rw-r--r-- | intern/guardedalloc/MEM_guardedalloc.h | 22 | ||||
-rw-r--r-- | intern/string/STR_String.h | 4 |
7 files changed, 27 insertions, 23 deletions
diff --git a/intern/ghost/GHOST_IEvent.h b/intern/ghost/GHOST_IEvent.h index 3c3111a2e6d..ef63c57caa5 100644 --- a/intern/ghost/GHOST_IEvent.h +++ b/intern/ghost/GHOST_IEvent.h @@ -86,13 +86,7 @@ public: virtual GHOST_TEventDataPtr getData() = 0; #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { - return MEM_mallocN(num_bytes, "GHOST:GHOST_IEvent"); - } - void operator delete(void *mem) { - MEM_freeN(mem); - } + MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_IEvent") #endif }; diff --git a/intern/ghost/GHOST_IEventConsumer.h b/intern/ghost/GHOST_IEventConsumer.h index d437f219f8d..cfc4fae7978 100644 --- a/intern/ghost/GHOST_IEventConsumer.h +++ b/intern/ghost/GHOST_IEventConsumer.h @@ -64,9 +64,7 @@ public: virtual bool processEvent(GHOST_IEvent *event) = 0; #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_IEventConsumer"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_IEventConsumer") #endif }; diff --git a/intern/ghost/GHOST_IWindow.h b/intern/ghost/GHOST_IWindow.h index e754883504d..69aaeeb4b2e 100644 --- a/intern/ghost/GHOST_IWindow.h +++ b/intern/ghost/GHOST_IWindow.h @@ -306,9 +306,7 @@ public: virtual GHOST_TSuccess setCursorGrab(GHOST_TGrabCursorMode mode, GHOST_Rect *bounds) { return GHOST_kSuccess; } #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_IWindow"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_IWindow") #endif }; diff --git a/intern/ghost/GHOST_Rect.h b/intern/ghost/GHOST_Rect.h index 90678c6dfa2..745e402cdc8 100644 --- a/intern/ghost/GHOST_Rect.h +++ b/intern/ghost/GHOST_Rect.h @@ -190,9 +190,7 @@ public: GHOST_TInt32 m_b; #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_Rect"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_Rect") #endif }; diff --git a/intern/ghost/intern/GHOST_WindowManager.h b/intern/ghost/intern/GHOST_WindowManager.h index 47931347ed6..e754595e881 100644 --- a/intern/ghost/intern/GHOST_WindowManager.h +++ b/intern/ghost/intern/GHOST_WindowManager.h @@ -162,9 +162,7 @@ protected: GHOST_IWindow *m_activeWindowBeforeFullScreen; #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GHOST:GHOST_WindowManager"); } - void operator delete( void *mem ) { MEM_freeN(mem); } + MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_WindowManager") #endif }; diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h index 83d6549218a..bb4c372e46d 100644 --- a/intern/guardedalloc/MEM_guardedalloc.h +++ b/intern/guardedalloc/MEM_guardedalloc.h @@ -167,7 +167,27 @@ extern "C" { #ifndef NDEBUG const char *MEM_name_ptr(void *vmemh); #endif - + +#ifdef __cplusplus +/* alloc funcs for C++ only */ +#define MEM_CXX_CLASS_ALLOC_FUNCS(_id) \ +public: \ + void *operator new(size_t num_bytes) { \ + return MEM_mallocN(num_bytes, _id); \ + } \ + void operator delete(void *mem) { \ + MEM_freeN(mem); \ + } \ + void *operator new[](size_t num_bytes) { \ + return MEM_mallocN(num_bytes, _id "[]"); \ + } \ + void operator delete[](void *mem) { \ + MEM_freeN(mem); \ + } \ + +#endif + + #ifdef __cplusplus } #endif diff --git a/intern/string/STR_String.h b/intern/string/STR_String.h index 2f17b059c8f..ac8b855bbe9 100644 --- a/intern/string/STR_String.h +++ b/intern/string/STR_String.h @@ -204,9 +204,7 @@ protected: #ifdef WITH_CXX_GUARDEDALLOC -public: - void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "CXX:STR_String"); } - void operator delete(void *mem) { MEM_freeN(mem); } + MEM_CXX_CLASS_ALLOC_FUNCS("CXX:STR_String") #endif }; |