[Scummvm-cvs-logs] SF.net SVN: scummvm: [23904] scummvm/trunk/backends/platform/PalmOS/Src/ missing
chrilith at users.sourceforge.net
chrilith at users.sourceforge.net
Sun Sep 17 11:46:13 CEST 2006
Revision: 23904
http://svn.sourceforge.net/scummvm/?rev=23904&view=rev
Author: chrilith
Date: 2006-09-17 02:46:06 -0700 (Sun, 17 Sep 2006)
Log Message:
-----------
Added option to trace memory allocation
Modified Paths:
--------------
scummvm/trunk/backends/platform/PalmOS/Src/missing/ext_stdlib.c
scummvm/trunk/backends/platform/PalmOS/Src/missing/stdlib.h
Modified: scummvm/trunk/backends/platform/PalmOS/Src/missing/ext_stdlib.c
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/missing/ext_stdlib.c 2006-09-17 09:40:53 UTC (rev 23903)
+++ scummvm/trunk/backends/platform/PalmOS/Src/missing/ext_stdlib.c 2006-09-17 09:46:06 UTC (rev 23904)
@@ -24,6 +24,10 @@
#include <stdlib.h>
+#ifdef STDLIB_TRACE_MEMORY
+UInt32 __stdlib_trace_memory = 0;
+#endif
+
#define memNewChunkFlagAllowLarge 0x1000
SysAppInfoPtr SysGetAppInfo(SysAppInfoPtr *uiAppPP, SysAppInfoPtr *actionCodeAppPP) SYS_TRAP(sysTrapSysGetAppInfo);
@@ -60,6 +64,9 @@
newP = MemChunkNew(0, size, attr);
}
+#ifdef STDLIB_TRACE_MEMORY
+ __stdlib_trace_memory += size;
+#endif
return newP;
}
@@ -72,18 +79,33 @@
if (newP)
MemSet(newP,size,0);
+#ifdef STDLIB_TRACE_MEMORY
+ __stdlib_trace_memory += size;
+#endif
return newP;
}
Err free(MemPtr memP) {
- if (memP)
+ if (memP) {
+#ifdef STDLIB_TRACE_MEMORY
+ UInt32 sz = MemPtrSize(memP);
+ __stdlib_trace_memory -= sz;
+#endif
return MemPtrFree(memP);
+ }
+
return memErrInvalidParam;
}
MemPtr realloc(MemPtr oldP, UInt32 size) {
MemPtr newP;
+#ifdef STDLIB_TRACE_MEMORY
+ UInt32 sz = MemPtrSize(oldP);
+ __stdlib_trace_memory -= sz;
+ __stdlib_trace_memory += size;
+#endif
+
if (oldP != NULL)
if (MemPtrResize(oldP, size) == 0)
return oldP;
Modified: scummvm/trunk/backends/platform/PalmOS/Src/missing/stdlib.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/missing/stdlib.h 2006-09-17 09:40:53 UTC (rev 23903)
+++ scummvm/trunk/backends/platform/PalmOS/Src/missing/stdlib.h 2006-09-17 09:46:06 UTC (rev 23904)
@@ -36,12 +36,17 @@
#endif
/* malloc stuff */
-#if defined(COMPILE_ZODIAC)
-# define malloc MemPtrNew
-#elif defined(COMPILE_OS5) && defined(PALMOS_ARM)
+#ifdef STDLIB_TRACE_MEMORY
# define malloc __malloc
+ extern UInt32 __stdlib_trace_memory;
#else
-# define malloc MemGluePtrNew
+# if defined(COMPILE_ZODIAC)
+# define malloc MemPtrNew
+# elif defined(COMPILE_OS5) && defined(PALMOS_ARM)
+# define malloc __malloc
+# else
+# define malloc MemGluePtrNew
+# endif
#endif
/* custom exit (true exit !) */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list