summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-04-16 12:27:04 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-04-16 12:27:04 (GMT)
commit240098bfba8eb55a1ce74fbefa3ea60b4890c480 (patch)
tree1354808ffaf3cbcbad438634ad9bcc7bfeb1d942 /generic/tclInt.h
parentf32d7a27baaf82615453a772b3371d58909f341f (diff)
downloadtcl-240098bfba8eb55a1ce74fbefa3ea60b4890c480.zip
tcl-240098bfba8eb55a1ce74fbefa3ea60b4890c480.tar.gz
tcl-240098bfba8eb55a1ce74fbefa3ea60b4890c480.tar.bz2
Reduce the list walking by keeping lastPtr fields.zippy_fifo
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r--generic/tclInt.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 3f84717..c89f053 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -4116,7 +4116,8 @@ MODULE_SCOPE void TclpFreeAllocCache(void *);
AllocCache *cachePtr; \
if (((interp) == NULL) || \
((cachePtr = ((Interp *)(interp))->allocCache), \
- (cachePtr->numObjects >= ALLOC_NOBJHIGH))) { \
+ ((cachePtr->numObjects == 0) || \
+ (cachePtr->numObjects >= ALLOC_NOBJHIGH)))) { \
TclThreadFreeObj(objPtr); \
} else { \
(objPtr)->internalRep.twoPtrValue.ptr1 = cachePtr->firstObjPtr; \