Changes in external/tcl/tclInt.h [adeddd8:d7d2da3] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
external/tcl/tclInt.h
radeddd8 rd7d2da3 1326 1326 1327 1327 extern Tcl_Obj * tclFreeObjList; 1328 1329 #ifdef TCL_COMPILE_STATS 1330 extern long tclObjsAlloced; 1331 extern long tclObjsFreed; 1332 #endif /* TCL_COMPILE_STATS */ 1328 1333 1329 1334 /* … … 1440 1445 int objc, Tcl_Obj *CONST objv[], int flags)); 1441 1446 EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); 1442 EXTERN void TclpFree(char *cp); 1447 1443 1448 EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, 1444 1449 unsigned int size)); … … 1467 1472 EXTERN int TclPreventAliasLoop _ANSI_ARGS_((Tcl_Interp *interp, 1468 1473 Tcl_Interp *cmdInterp, Tcl_Command cmd)); 1474 EXTERN void TclPrintByteCodeObj _ANSI_ARGS_((Tcl_Interp *interp, 1475 Tcl_Obj *objPtr)); 1469 1476 EXTERN void TclProcCleanupProc _ANSI_ARGS_((Proc *procPtr)); 1470 1477 EXTERN int TclProcCompileProc _ANSI_ARGS_((Tcl_Interp *interp, … … 1681 1688 */ 1682 1689 1690 #ifdef TCL_COMPILE_STATS 1691 # define TclIncrObjsAllocated() \ 1692 tclObjsAlloced++ 1693 # define TclIncrObjsFreed() \ 1694 tclObjsFreed++ 1695 #else 1696 # define TclIncrObjsAllocated() 1697 # define TclIncrObjsFreed() 1698 #endif /* TCL_COMPILE_STATS */ 1699 1700 #ifdef TCL_MEM_DEBUG 1701 # define TclNewObj(objPtr) \ 1702 (objPtr) = (Tcl_Obj *) Tcl_DbCkalloc(sizeof(Tcl_Obj), __FILE__, __LINE__); \ 1703 (objPtr)->refCount = 0; \ 1704 (objPtr)->bytes = tclEmptyStringRep; \ 1705 (objPtr)->length = 0; \ 1706 (objPtr)->typePtr = NULL; \ 1707 TclIncrObjsAllocated() 1708 # define TclDbNewObj(objPtr, file, line) \ 1709 (objPtr) = (Tcl_Obj *) Tcl_DbCkalloc(sizeof(Tcl_Obj), (file), (line)); \ 1710 (objPtr)->refCount = 0; \ 1711 (objPtr)->bytes = tclEmptyStringRep; \ 1712 (objPtr)->length = 0; \ 1713 (objPtr)->typePtr = NULL; \ 1714 TclIncrObjsAllocated() 1715 # define TclDecrRefCount(objPtr) \ 1716 if (--(objPtr)->refCount <= 0) { \ 1717 if ((objPtr)->refCount < -1) \ 1718 panic("Reference count for %lx was negative: %s line %d", \ 1719 (objPtr), __FILE__, __LINE__); \ 1720 if (((objPtr)->bytes != NULL) \ 1721 && ((objPtr)->bytes != tclEmptyStringRep)) { \ 1722 ckfree((char *) (objPtr)->bytes); \ 1723 } \ 1724 if (((objPtr)->typePtr != NULL) \ 1725 && ((objPtr)->typePtr->freeIntRepProc != NULL)) { \ 1726 (objPtr)->typePtr->freeIntRepProc(objPtr); \ 1727 } \ 1728 ckfree((char *) (objPtr)); \ 1729 TclIncrObjsFreed(); \ 1730 } 1731 #else /* not TCL_MEM_DEBUG */ 1683 1732 # define TclNewObj(objPtr) \ 1684 1733 if (tclFreeObjList == NULL) { \ … … 1691 1740 (objPtr)->bytes = tclEmptyStringRep; \ 1692 1741 (objPtr)->length = 0; \ 1693 (objPtr)->typePtr = NULL; 1742 (objPtr)->typePtr = NULL; \ 1743 TclIncrObjsAllocated() 1694 1744 # define TclDecrRefCount(objPtr) \ 1695 1745 if (--(objPtr)->refCount <= 0) { \ … … 1704 1754 (objPtr)->internalRep.otherValuePtr = (VOID *) tclFreeObjList; \ 1705 1755 tclFreeObjList = (objPtr); \ 1756 TclIncrObjsFreed(); \ 1706 1757 } 1758 #endif /* TCL_MEM_DEBUG */ 1707 1759 1708 1760 /*
Note:
See TracChangeset
for help on using the changeset viewer.