00001 00008 #include <PalmTypes.h> 00009 #include <MemoryMgr.h> 00010 #include <ui.h> 00011 00012 #if defined(MEM_DEBUG) 00013 MemPtr 00014 _MemPtrNew(UInt32 size, char *file, int line) 00015 { 00016 MemPtr mp = MemPtrNew(size); 00017 WriteLog("%lx = MemPtrNew(%lx) [%s:%d]\n", mp, size, file, line); 00018 return (mp); 00019 } 00020 00021 MemPtr 00022 _MemHandleLock(MemHandle mh, char *file, int line) 00023 { 00024 MemPtr mp = MemHandleLock(mh); 00025 WriteLog("%lx = MemHandleLock(%lx) [%s:%d]\n", mp, mh, file, line); 00026 return (mp); 00027 } 00028 00029 Err 00030 _MemHandleUnlock(MemHandle mh, char *file, int line) 00031 { 00032 Err err = MemHandleUnlock(mh); 00033 WriteLog("%x = MemHandleUnlock(%lx) [%s:%d]\n", err, mh, file, line); 00034 return (err); 00035 } 00036 00037 MemHandle 00038 _MemHandleNew(UInt32 size, char *file, int line) 00039 { 00040 MemHandle mh = MemHandleNew(size); 00041 WriteLog("%lx = MemHandleNew(%lx) [%s:%d]\n", mh, size, file, line); 00042 return (mh); 00043 } 00044 00045 MemHandle 00046 _MemPtrRecoverHandle(MemPtr mp, char *file, int line) 00047 { 00048 MemHandle mh = MemPtrRecoverHandle(mp); 00049 WriteLog("%lx = MemPtrRecoverHandle(%lx) [%s:%d]\n", mh, mp, file, 00050 line); 00051 return (mh); 00052 } 00053 00054 Err 00055 _MemHandleResize(MemHandle mh, UInt32 size, char *file, int line) 00056 { 00057 Err err = MemHandleResize(mh, size); 00058 WriteLog("%d = MemHandleResize(%lx, %lx) [%s:%d]\n", err, mh, 00059 size, file, line); 00060 return (err); 00061 } 00062 00063 Err 00064 _MemHandleFree(MemHandle mh, char *file, int line) 00065 { 00066 Err err = MemHandleFree(mh); 00067 WriteLog("%d = MemHandleFree(%lx) [%s:%d]\n", err, mh, file, line); 00068 return (err); 00069 } 00070 00071 Err 00072 _MemPtrFree(MemPtr mp, char *file, int line) 00073 { 00074 Err err = MemPtrFree(mp); 00075 WriteLog("%d = MemPtrFree(%lx) [%s:%d]\n", err, mp, file, line); 00076 return (err); 00077 } 00078 #endif 00079 #include <mem_compat.h> 00080 00087 MemPtr 00088 palm_realloc(MemPtr old, UInt32 new_size) 00089 { 00090 MemHandle mh; 00091 00092 if (old == NULL) { 00093 mh = MemHandleNew(new_size); 00094 if (mh == NULL) 00095 return (mh); 00096 return (MemHandleLock(mh)); 00097 } 00098 00099 mh = MemPtrRecoverHandle(old); 00100 MemPtrUnlock(old); 00101 MemHandleResize(mh, new_size); 00102 return (MemHandleLock(mh)); 00103 } 00104 00105 MemPtr 00106 palm_calloc(UInt32 size, UInt32 count) 00107 { 00108 MemHandle mh; 00109 MemPtr mp; 00110 00111 mh = MemHandleNew(size * count); 00112 if (mh == NULL) 00113 return (mh); 00114 mp = MemHandleLock(mh); 00115 MemSet(mp, (Int32)(size * count), 0); 00116 return (mp); 00117 } 00118 00119 MemPtr 00120 palm_malloc(UInt32 size) 00121 { 00122 MemHandle mh = MemHandleNew(size); 00123 return (MemHandleLock(mh)); 00124 } 00125 00126 void 00127 palm_free(MemPtr mem) 00128 { 00129 MemHandle mh = MemPtrRecoverHandle(mem); 00130 MemHandleUnlock(mh); 00131 MemHandleFree(mh); 00132 } 00133