Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | remove stray calls to Tcl_Alloc and friends: the core should only use ckalloc to allow MEM_DEBUG to work properly |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9691e2e37d0bc4e54fb2053c0b07f81e |
User & Date: | mig 2013-01-02 19:20:54 |
Context
2013-01-02
| ||
19:28 | no changes, sync with core-8-5-branch to signal the backported fix check-in: b3100f7283 user: mig tags: trunk | |
19:20 | remove stray calls to Tcl_Alloc and friends: the core should only use ckalloc to allow MEM_DEBUG to ... check-in: 9691e2e37d user: mig tags: trunk | |
14:37 | test Tcl_GetErrorLine() forwards/backwards compatibility in pkgb.so as well. Don't free ctrl.script... check-in: 179ae0efd8 user: jan.nijtmans tags: trunk | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2012-12-31 Donal K. Fellows <[email protected]> * doc/string.n: Noted the obsolescence of the 'bytelength', 'wordstart' and 'wordend' subcommands, and moved them to later in the file. 2012-12-27 Jan Nijtmans <[email protected]> | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 2013-01-02 Miguel Sofer <[email protected]> * generic/tclEnsemble.c: Remove stray calls to Tcl_Alloc and * generic/tclExecute.c: friends: the core should only use ckalloc * generic/tclIORTrans.c: to allow MEM_DEBUG to work properly * generic/tclTomMathInterface.c: 2012-12-31 Donal K. Fellows <[email protected]> * doc/string.n: Noted the obsolescence of the 'bytelength', 'wordstart' and 'wordend' subcommands, and moved them to later in the file. 2012-12-27 Jan Nijtmans <[email protected]> |
︙ | ︙ |
Changes to generic/tclEnsemble.c.
︙ | ︙ | |||
1575 1576 1577 1578 1579 1580 1581 | Tcl_SetEnsembleFlags(interp, ensemble, ensembleFlags); } } Tcl_DStringFree(&buf); Tcl_DStringFree(&hiddenBuf); if (nameParts != NULL) { | | | 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 | Tcl_SetEnsembleFlags(interp, ensemble, ensembleFlags); } } Tcl_DStringFree(&buf); Tcl_DStringFree(&hiddenBuf); if (nameParts != NULL) { ckfree((char *) nameParts); } return ensemble; } /* *---------------------------------------------------------------------- * |
︙ | ︙ |
Changes to generic/tclExecute.c.
︙ | ︙ | |||
1208 1209 1210 1211 1212 1213 1214 | { Interp *iPtr = (Interp *) interp; ExecEnv *eePtr; ExecStack *esPtr; Tcl_Obj **markerPtr, *marker; if (iPtr == NULL || iPtr->execEnvPtr == NULL) { | | | 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 | { Interp *iPtr = (Interp *) interp; ExecEnv *eePtr; ExecStack *esPtr; Tcl_Obj **markerPtr, *marker; if (iPtr == NULL || iPtr->execEnvPtr == NULL) { ckfree((char *) freePtr); return; } /* * Rewind the stack to the previous marker position. The current marker, * as set in the last call to GrowEvaluationStack, contains a pointer to * the previous marker. |
︙ | ︙ | |||
1268 1269 1270 1271 1272 1273 1274 | Tcl_Interp *interp, int numBytes) { Interp *iPtr = (Interp *) interp; int numWords = (numBytes + (sizeof(Tcl_Obj *) - 1))/sizeof(Tcl_Obj *); if (iPtr == NULL || iPtr->execEnvPtr == NULL) { | | | | 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 | Tcl_Interp *interp, int numBytes) { Interp *iPtr = (Interp *) interp; int numWords = (numBytes + (sizeof(Tcl_Obj *) - 1))/sizeof(Tcl_Obj *); if (iPtr == NULL || iPtr->execEnvPtr == NULL) { return (void *) ckalloc(numBytes); } return (void *) StackAllocWords(interp, numWords); } void * TclStackRealloc( Tcl_Interp *interp, void *ptr, int numBytes) { Interp *iPtr = (Interp *) interp; ExecEnv *eePtr; ExecStack *esPtr; Tcl_Obj **markerPtr; int numWords; if (iPtr == NULL || iPtr->execEnvPtr == NULL) { return (void *) ckrealloc((char *) ptr, numBytes); } eePtr = iPtr->execEnvPtr; esPtr = eePtr->execStackPtr; markerPtr = esPtr->markerPtr; if (MEMSTART(markerPtr) != (Tcl_Obj **)ptr) { |
︙ | ︙ |
Changes to generic/tclIORTrans.c.
︙ | ︙ | |||
2938 2939 2940 2941 2942 2943 2944 | { rPtr->used = 0; if (!rPtr->allocated) { return; } | | | 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 | { rPtr->used = 0; if (!rPtr->allocated) { return; } ckfree((char *) rPtr->buf); rPtr->buf = NULL; rPtr->allocated = 0; } /* *---------------------------------------------------------------------- * |
︙ | ︙ | |||
2973 2974 2975 2976 2977 2978 2979 | /* * Extension of the internal buffer is required. * NOTE: Currently linear. Should be doubling to amortize. */ if (rPtr->allocated == 0) { rPtr->allocated = toWrite + RB_INCREMENT; | | | | 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 | /* * Extension of the internal buffer is required. * NOTE: Currently linear. Should be doubling to amortize. */ if (rPtr->allocated == 0) { rPtr->allocated = toWrite + RB_INCREMENT; rPtr->buf = UCHARP(ckalloc(rPtr->allocated)); } else { rPtr->allocated += toWrite + RB_INCREMENT; rPtr->buf = UCHARP(ckrealloc((char *) rPtr->buf, rPtr->allocated)); } } /* * Now copy data. */ |
︙ | ︙ |
Changes to generic/tclInt.h.
︙ | ︙ | |||
4004 4005 4006 4007 4008 4009 4010 | * The PURIFY mode is like the regular mode, but instead of doing block * Tcl_Obj allocation and keeping a freed list for efficiency, it always * allocates and frees a single Tcl_Obj so that tools like Purify can better * track memory leaks. */ # define TclAllocObjStorageEx(interp, objPtr) \ | | | 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 | * The PURIFY mode is like the regular mode, but instead of doing block * Tcl_Obj allocation and keeping a freed list for efficiency, it always * allocates and frees a single Tcl_Obj so that tools like Purify can better * track memory leaks. */ # define TclAllocObjStorageEx(interp, objPtr) \ (objPtr) = (Tcl_Obj *) ckalloc(sizeof(Tcl_Obj)) # define TclFreeObjStorageEx(interp, objPtr) \ ckfree((char *) (objPtr)) #undef USE_THREAD_ALLOC #elif defined(TCL_THREADS) && defined(USE_THREAD_ALLOC) |
︙ | ︙ |
Changes to generic/tclTomMathInterface.c.
︙ | ︙ | |||
107 108 109 110 111 112 113 | *---------------------------------------------------------------------- */ extern void * TclBNAlloc( size_t x) { | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | *---------------------------------------------------------------------- */ extern void * TclBNAlloc( size_t x) { return (void *) ckalloc((unsigned int) x); } /* *---------------------------------------------------------------------- * * TclBNRealloc -- * |
︙ | ︙ | |||
131 132 133 134 135 136 137 | */ void * TclBNRealloc( void *p, size_t s) { | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | */ void * TclBNRealloc( void *p, size_t s) { return (void *) ckrealloc((char *) p, (unsigned int) s); } /* *---------------------------------------------------------------------- * * TclBNFree -- * |
︙ | ︙ | |||
157 158 159 160 161 162 163 | *---------------------------------------------------------------------- */ extern void TclBNFree( void *p) { | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | *---------------------------------------------------------------------- */ extern void TclBNFree( void *p) { ckree((char *) p); } #endif /* *---------------------------------------------------------------------- * * TclBNInitBignumFromLong -- |
︙ | ︙ |