Changeset 36597 in vbox for trunk/include/iprt
- Timestamp:
- Apr 6, 2011 7:46:15 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 71042
- Location:
- trunk/include/iprt
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/mangling.h
r36581 r36597 747 747 # define RTMemTmpAllocZTag RT_MANGLER(RTMemTmpAllocZTag) 748 748 # define RTMemTmpFree RT_MANGLER(RTMemTmpFree) 749 # define RTMemTrackerDumpAllToFile RT_MANGLER(RTMemTrackerDumpAllToFile) 750 # define RTMemTrackerDumpAllToLog RT_MANGLER(RTMemTrackerDumpAllToLog) 751 # define RTMemTrackerDumpAllToLogRel RT_MANGLER(RTMemTrackerDumpAllToLogRel) 752 # define RTMemTrackerDumpAllToStdErr RT_MANGLER(RTMemTrackerDumpAllToStdErr) 753 # define RTMemTrackerDumpAllToStdOut RT_MANGLER(RTMemTrackerDumpAllToStdOut) 754 # define RTMemTrackerDumpStatsToFile RT_MANGLER(RTMemTrackerDumpStatsToFile) 755 # define RTMemTrackerDumpStatsToLog RT_MANGLER(RTMemTrackerDumpStatsToLog) 756 # define RTMemTrackerDumpStatsToLogRel RT_MANGLER(RTMemTrackerDumpStatsToLogRel) 757 # define RTMemTrackerDumpStatsToStdErr RT_MANGLER(RTMemTrackerDumpStatsToStdErr) 758 # define RTMemTrackerDumpStatsToStdOut RT_MANGLER(RTMemTrackerDumpStatsToStdOut) 759 # define RTMemTrackerHdrAlloc RT_MANGLER(RTMemTrackerHdrAlloc) 760 # define RTMemTrackerHdrFree RT_MANGLER(RTMemTrackerHdrFree) 761 # define RTMemTrackerHdrReallocDone RT_MANGLER(RTMemTrackerHdrReallocDone) 762 # define RTMemTrackerHdrReallocPrep RT_MANGLER(RTMemTrackerHdrReallocPrep) 749 763 # define RTMemWipeThoroughly RT_MANGLER(RTMemWipeThoroughly) 750 764 # define RTMpCpuId RT_MANGLER(RTMpCpuId) … … 1386 1400 # define RTThreadGetType RT_MANGLER(RTThreadGetType) 1387 1401 # define RTThreadIsInInterrupt RT_MANGLER(RTThreadIsInInterrupt) /* r0drv */ 1402 # define RTThreadIsInitialized RT_MANGLER(RTThreadIsInitialized) 1388 1403 # define RTThreadIsMain RT_MANGLER(RTThreadIsMain) 1404 # define RTThreadIsSelfAlive RT_MANGLER(RTThreadIsSelfAlive) 1405 # define RTThreadIsSelfKnown RT_MANGLER(RTThreadIsSelfKnown) 1389 1406 # define RTThreadNativeSelf RT_MANGLER(RTThreadNativeSelf) 1390 1407 # define RTThreadPoke RT_MANGLER(RTThreadPoke) /* not-win not-os2 */ -
trunk/include/iprt/memtracker.h
r32431 r36597 46 46 RTMEMTRACKERMETHOD_ALLOC, 47 47 RTMEMTRACKERMETHOD_ALLOCZ, 48 RTMEMTRACKERMETHOD_REALLOC, 48 RTMEMTRACKERMETHOD_REALLOC_PREP, /**< Internal, don't use. */ 49 RTMEMTRACKERMETHOD_REALLOC_DONE, /**< Internal, don't use. */ 50 RTMEMTRACKERMETHOD_REALLOC_FAILED, /**< Internal, don't use. */ 49 51 RTMEMTRACKERMETHOD_FREE, 50 52 … … 60 62 typedef struct RTMEMTRACKERTAG *PRTMEMTRACKERTAG; 61 63 64 /** Pointer to a user structure. */ 65 typedef struct RTMEMTRACKERUSER *PRTMEMTRACKERUSER; 66 62 67 /** 63 68 * Memory Tracking Header for use with RTMemTrackerHdrAlloc, … … 69 74 /** Magic value / eye catcher (RTMEMTRACKERHDR_MAGIC). */ 70 75 size_t uMagic; 71 /** The allocation size . */72 size_t cb Size;76 /** The allocation size, user data only. */ 77 size_t cbUser; 73 78 /** The list entry. */ 74 79 RTLISTNODE ListEntry; 80 /** Pointer to the user structure where this header is linked. */ 81 PRTMEMTRACKERUSER pUser; 82 /** Pointer to the per-tag structure. */ 83 PRTMEMTRACKERTAG pTag; 75 84 /** The tag string. */ 76 85 const char *pszTag; 77 /** Pointer to the per-tag structure. */ 78 PRTMEMTRACKERTAG pTag; 79 /** Alignmnet padding. */ 80 void *pvAlignment[2]; 86 /** Pointer to the user data we're tracking. */ 87 void *pvUser; 81 88 } RTMEMTRACKERHDR; 89 /** Pointer to a memory tracker header. */ 90 typedef RTMEMTRACKERHDR *PRTMEMTRACKERHDR; 91 /** Pointer to a const memory tracker header. */ 92 typedef RTMEMTRACKERHDR *PPRTMEMTRACKERHDR; 82 93 83 94 /** Magic value for RTMEMTRACKERHDR::uMagic (Kelly Link). */ 84 95 #if ARCH_BITS == 64 85 # define RTMEMTRACKERHDR_MAGIC UINT64_C(0x1907691919690719)96 # define RTMEMTRACKERHDR_MAGIC UINT64_C(0x1907691919690719) 86 97 #else 87 # define RTMEMTRACKERHDR_MAGIC UINT32_C(0x19690719)98 # define RTMEMTRACKERHDR_MAGIC UINT32_C(0x19690719) 88 99 #endif 100 /** Magic number used when reallocated. */ 101 #if ARCH_BITS == 64 102 # define RTMEMTRACKERHDR_MAGIC_REALLOC UINT64_C(0x0000691919690000) 103 #else 104 # define RTMEMTRACKERHDR_MAGIC_REALLOC UINT32_C(0x19690000) 105 #endif 106 /** Magic number used when freed. */ 107 #define RTMEMTRACKERHDR_MAGIC_FREE (~RTMEMTRACKERHDR_MAGIC) 108 89 109 90 110 /** … … 94 114 * @param pv The header + user data block. This must be at 95 115 * least @a cb + sizeof(RTMEMTRACKERHDR). 96 * @param cb 116 * @param cbUser The user data size (bytes). 97 117 * @param pszTag The tag string. 98 118 * @param enmMethod The method that the user called. 99 119 */ 100 RTDECL(void *) RTMemTrackerHdrAlloc(void *pv, size_t cb , const char *pszTag, RTMEMTRACKERMETHOD enmMethod);120 RTDECL(void *) RTMemTrackerHdrAlloc(void *pv, size_t cbUser, const char *pszTag, RTMEMTRACKERMETHOD enmMethod); 101 121 102 122 /** … … 104 124 * 105 125 * @returns Pointer to the user data part. 106 * @param pvOld 107 * @param cbOld The size of the old user data, 0 if not known.108 * @param pszTag The tag string.109 * @param enmMethod The method that the user called.110 */ 111 RTDECL(void *) RTMemTrackerHdrReallocPrep(void *pvOld , size_t cbOld, const char *pszTag, RTMEMTRACKERMETHOD enmMethod);126 * @param pvOldUser Pointer to the old user data. 127 * @param cbOldUser The size of the old user data, 0 if not 128 * known. 129 * @param pszTag The tag string. 130 */ 131 RTDECL(void *) RTMemTrackerHdrReallocPrep(void *pvOldUser, size_t cbOldUser, const char *pszTag); 112 132 113 133 /** … … 119 139 * this is NULL, we assume the realloc() call 120 140 * failed. 121 * @param cbNew 122 * @param pvOld 141 * @param cbNewUser The user data size (bytes). 142 * @param pvOldUser Pointer to the old user data. This is only 123 143 * valid on failure of course and used to bail out 124 144 * in that case. Should not be NULL. 125 145 * @param pszTag The tag string. 146 */ 147 RTDECL(void *) RTMemTrackerHdrReallocDone(void *pvNew, size_t cbNewUser, void *pvOldUser, const char *pszTag); 148 149 150 /** 151 * Do the accounting on free. 152 * 153 * @returns @a pv. 154 * @param pvUser Pointer to the user data. 155 * @param cbUser The size of the user data, 0 if not known. 156 * @param pszTag The tag string. 126 157 * @param enmMethod The method that the user called. 127 158 */ 128 RTDECL(void *) RTMemTrackerHdrReallocDone(void *pvNew, size_t cbNew, void *pvOld, const char *pszTag, RTMEMTRACKERMETHOD enmMethod); 129 130 131 /** 132 * Do the accounting on free. 133 * 134 * @returns @a pv. 135 * @param pv Pointer to the user data. 136 * @param cb The size of the user data, 0 if not known. 137 * @param pszTag The tag string. 138 * @param enmMethod The method that the user called. 139 */ 140 RTDECL(void *) RTMemTrackerHdrFree(void *pv, size_t cb, const char *pszTag, RTMEMTRACKERMETHOD enmMethod); 159 RTDECL(void *) RTMemTrackerHdrFree(void *pvUser, size_t cbUser, const char *pszTag, RTMEMTRACKERMETHOD enmMethod); 141 160 142 161 … … 149 168 * Dumps all the allocations and tag statistics to the release log. 150 169 */ 151 RTDECL(void) RTMemTrackerDumpAllTo RelLog(void);170 RTDECL(void) RTMemTrackerDumpAllToLogRel(void); 152 171 153 172 /** … … 169 188 /** 170 189 * Dumps all the tag statistics to the log. 171 */ 172 RTDECL(void) RTMemTrackerDumpStatsToLog(void); 190 * 191 * @param fVerbose Whether to print all the stats or just the ones 192 * relevant to hunting leaks. 193 */ 194 RTDECL(void) RTMemTrackerDumpStatsToLog(bool fVerbose); 173 195 174 196 /** 175 197 * Dumps all the tag statistics to the release log. 176 */ 177 RTDECL(void) RTMemTrackerDumpStatsToRelLog(void); 198 * 199 * @param fVerbose Whether to print all the stats or just the ones 200 * relevant to hunting leaks. 201 */ 202 RTDECL(void) RTMemTrackerDumpStatsToLogRel(bool fVerbose); 178 203 179 204 /** 180 205 * Dumps all the tag statistics to standard out. 181 */ 182 RTDECL(void) RTMemTrackerDumpStatsToStdOut(void); 206 * 207 * @param fVerbose Whether to print all the stats or just the ones 208 * relevant to hunting leaks. 209 */ 210 RTDECL(void) RTMemTrackerDumpStatsToStdOut(bool fVerbose); 183 211 184 212 /** 185 213 * Dumps all the tag statistics to standard err. 186 */ 187 RTDECL(void) RTMemTrackerDumpStatsToStdErr(void); 214 * 215 * @param fVerbose Whether to print all the stats or just the ones 216 * relevant to hunting leaks. 217 */ 218 RTDECL(void) RTMemTrackerDumpStatsToStdErr(bool fVerbose); 188 219 189 220 /** 190 221 * Dumps all the tag statistics to the specified filename. 191 */ 192 RTDECL(void) RTMemTrackerDumpStatsToFile(const char *pszFilename); 222 * 223 * @param fVerbose Whether to print all the stats or just the ones 224 * relevant to hunting leaks. 225 * @param pszFilename The name of the file to dump to. 226 */ 227 RTDECL(void) RTMemTrackerDumpStatsToFile(bool fVerbose, const char *pszFilename); 193 228 194 229
Note:
See TracChangeset
for help on using the changeset viewer.