[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48262] trunk/blender: more guardedalloc use in C++, also make compositorMutex a static var, was allocated and never freed.
Campbell Barton
ideasman42 at gmail.com
Mon Jun 25 12:35:37 CEST 2012
Revision: 48262
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48262
Author: campbellbarton
Date: 2012-06-25 10:35:24 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
more guardedalloc use in C++, also make compositorMutex a static var, was allocated and never freed.
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/intern/ghost/GHOST_ISystem.h
trunk/blender/intern/ghost/GHOST_ISystemPaths.h
trunk/blender/intern/ghost/GHOST_ITimerTask.h
trunk/blender/intern/ghost/GHOST_Types.h
trunk/blender/intern/ghost/intern/GHOST_CallbackEventConsumer.h
trunk/blender/intern/ghost/intern/GHOST_DisplayManager.h
trunk/blender/intern/ghost/intern/GHOST_EventManager.h
trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h
trunk/blender/intern/ghost/intern/GHOST_TimerManager.h
trunk/blender/intern/guardedalloc/cpp/mallocn.cpp
trunk/blender/source/blender/compositor/intern/COM_ChunkOrderHotspot.h
trunk/blender/source/blender/compositor/intern/COM_ExecutionSystem.cpp
trunk/blender/source/blender/compositor/intern/COM_NodeOperation.h
trunk/blender/source/blender/compositor/intern/COM_Socket.h
trunk/blender/source/blender/compositor/intern/COM_SocketReader.h
trunk/blender/source/blender/compositor/intern/COM_compositor.cpp
trunk/blender/source/gameengine/Expressions/PyObjectPlus.h
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/CMakeLists.txt 2012-06-25 10:35:24 UTC (rev 48262)
@@ -1723,6 +1723,7 @@
# better not set includes here but this debugging option is off by default.
if(WITH_CXX_GUARDEDALLOC)
include_directories(${CMAKE_SOURCE_DIR}/intern/guardedalloc)
+ add_definitions(-DWITH_CXX_GUARDEDALLOC)
endif()
if(WITH_ASSERT_ABORT)
Modified: trunk/blender/intern/ghost/GHOST_ISystem.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_ISystem.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/GHOST_ISystem.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -415,14 +415,9 @@
/** The one and only system */
static GHOST_ISystem *m_system;
+
#ifdef WITH_CXX_GUARDEDALLOC
-public:
- void *operator new(size_t num_bytes) {
- return MEM_mallocN(num_bytes, "GHOST:GHOST_ISystem");
- }
- void operator delete(void *mem) {
- MEM_freeN(mem);
- }
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_ISystem")
#endif
};
Modified: trunk/blender/intern/ghost/GHOST_ISystemPaths.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_ISystemPaths.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/GHOST_ISystemPaths.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -98,6 +98,11 @@
private:
/** The one and only system paths*/
static GHOST_ISystemPaths *m_systemPaths;
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_ISystemPaths")
+#endif
};
#endif
Modified: trunk/blender/intern/ghost/GHOST_ITimerTask.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_ITimerTask.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/GHOST_ITimerTask.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -84,14 +84,9 @@
*/
virtual void setUserData(const GHOST_TUserDataPtr userData) = 0;
+
#ifdef WITH_CXX_GUARDEDALLOC
-public:
- void *operator new(size_t num_bytes) {
- return MEM_mallocN(num_bytes, "GHOST:GHOST_ITimerTask");
- }
- void operator delete(void *mem) {
- MEM_freeN(mem);
- }
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_ITimerTask")
#endif
};
Modified: trunk/blender/intern/ghost/GHOST_Types.h
===================================================================
--- trunk/blender/intern/ghost/GHOST_Types.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/GHOST_Types.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -37,7 +37,11 @@
#include "MEM_guardedalloc.h"
#endif
-#define GHOST_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name
+#if defined(WITH_CXX_GUARDEDALLOC) && defined(__cplusplus)
+# define GHOST_DECLARE_HANDLE(name) typedef struct name##__ { int unused; MEM_CXX_CLASS_ALLOC_FUNCS(#name) } *name
+#else
+# define GHOST_DECLARE_HANDLE(name) typedef struct name##__ { int unused; } *name
+#endif
typedef char GHOST_TInt8;
typedef unsigned char GHOST_TUns8;
Modified: trunk/blender/intern/ghost/intern/GHOST_CallbackEventConsumer.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_CallbackEventConsumer.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/intern/GHOST_CallbackEventConsumer.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -73,6 +73,10 @@
GHOST_EventCallbackProcPtr m_eventCallback;
/** The data passed back though the call-back routine. */
GHOST_TUserDataPtr m_userData;
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_CallbackEventConsumer")
+#endif
};
#endif // __GHOST_CALLBACKEVENTCONSUMER_H__
Modified: trunk/blender/intern/ghost/intern/GHOST_DisplayManager.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_DisplayManager.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/intern/GHOST_DisplayManager.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -133,6 +133,11 @@
bool m_settingsInitialized;
/** The list with display settings for the main display. */
std::vector<GHOST_DisplaySettings> m_settings;
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_DisplayManager")
+#endif
};
Modified: trunk/blender/intern/ghost/intern/GHOST_EventManager.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_EventManager.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/intern/GHOST_EventManager.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -168,6 +168,11 @@
/** The list with event consumers. */
TConsumerVector m_consumers;
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_EventManager")
+#endif
};
#endif // __GHOST_EVENTMANAGER_H__
Modified: trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemPaths.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -57,7 +57,7 @@
*/
virtual const GHOST_TUns8 *getSystemDir(int version, const char *versionstr) const = 0;
- /**
+ /**
* Determine the base dir in which user configuration is stored, including versioning.
* If needed, it will create the base directory.
* @return Unsigned char string pointing to user dir (eg ~/.blender/).
@@ -74,7 +74,6 @@
* Add the file to the operating system most recently used files
*/
virtual void addToSystemRecentFiles(const char *filename) const = 0;
-
};
#endif
Modified: trunk/blender/intern/ghost/intern/GHOST_TimerManager.h
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_TimerManager.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/ghost/intern/GHOST_TimerManager.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -119,6 +119,11 @@
typedef std::vector<GHOST_TimerTask *> TTimerVector;
/** The list with event consumers. */
TTimerVector m_timers;
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GHOST:GHOST_TimerManager")
+#endif
};
#endif // __GHOST_TIMERMANAGER_H__
Modified: trunk/blender/intern/guardedalloc/cpp/mallocn.cpp
===================================================================
--- trunk/blender/intern/guardedalloc/cpp/mallocn.cpp 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/intern/guardedalloc/cpp/mallocn.cpp 2012-06-25 10:35:24 UTC (rev 48262)
@@ -28,20 +28,36 @@
#include <new>
#include "../MEM_guardedalloc.h"
-void* operator new (size_t size)
+/* not default but can be used when needing to set a string */
+void *operator new(size_t size, const char *str)
{
- return MEM_mallocN(size, "C++/anonymous");
+ return MEM_mallocN(size, str);
}
-
-/* not default but can be used when needing to set a string */
-void* operator new (size_t size, const char *str)
+void *operator new[](size_t size, const char *str)
{
return MEM_mallocN(size, str);
}
-void operator delete (void *p)
+
+void *operator new(size_t size)
{
+ return MEM_mallocN(size, "C++/anonymous");
+}
+void *operator new[](size_t size)
+{
+ return MEM_mallocN(size, "C++/anonymous[]");
+}
+
+
+void operator delete(void *p)
+{
/* delete NULL is valid in c++ */
- if(p)
+ if (p)
MEM_freeN(p);
}
+void operator delete[](void *p)
+{
+ /* delete NULL is valid in c++ */
+ if (p)
+ MEM_freeN(p);
+}
Modified: trunk/blender/source/blender/compositor/intern/COM_ChunkOrderHotspot.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_ChunkOrderHotspot.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/source/blender/compositor/intern/COM_ChunkOrderHotspot.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -23,6 +23,10 @@
#ifndef _COM_ChunkOrderHotSpot_h_
#define _COM_ChunkOrderHotSpot_h_
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
class ChunkOrderHotspot {
private:
int x;
@@ -32,6 +36,11 @@
public:
ChunkOrderHotspot(int x, int y, float addition);
double determineDistance(int x, int y);
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("COM:ChunkOrderHotspot")
+#endif
};
#endif
Modified: trunk/blender/source/blender/compositor/intern/COM_ExecutionSystem.cpp
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_ExecutionSystem.cpp 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/source/blender/compositor/intern/COM_ExecutionSystem.cpp 2012-06-25 10:35:24 UTC (rev 48262)
@@ -41,6 +41,10 @@
#include "BKE_global.h"
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
ExecutionSystem::ExecutionSystem(RenderData *rd, bNodeTree *editingtree, bool rendering)
{
context.setbNodeTree(editingtree);
Modified: trunk/blender/source/blender/compositor/intern/COM_NodeOperation.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_NodeOperation.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/source/blender/compositor/intern/COM_NodeOperation.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -270,6 +270,10 @@
* @brief set if this NodeOperation can be scheduled on a OpenCLDevice
*/
void setOpenCL(bool openCL) { this->openCL = openCL; }
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("COM:NodeOperation")
+#endif
};
#endif
Modified: trunk/blender/source/blender/compositor/intern/COM_Socket.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_Socket.h 2012-06-25 09:20:25 UTC (rev 48261)
+++ trunk/blender/source/blender/compositor/intern/COM_Socket.h 2012-06-25 10:35:24 UTC (rev 48262)
@@ -29,6 +29,10 @@
#include "DNA_node_types.h"
#include "COM_defines.h"
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
using namespace std;
class SocketConnection;
class NodeBase;
Modified: trunk/blender/source/blender/compositor/intern/COM_SocketReader.h
===================================================================
--- trunk/blender/source/blender/compositor/intern/COM_SocketReader.h 2012-06-25 09:20:25 UTC (rev 48261)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list