diff options
author | dgp <dgp@users.sourceforge.net> | 2015-04-16 12:27:04 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2015-04-16 12:27:04 (GMT) |
commit | 240098bfba8eb55a1ce74fbefa3ea60b4890c480 (patch) | |
tree | 1354808ffaf3cbcbad438634ad9bcc7bfeb1d942 /generic/tclInt.h | |
parent | f32d7a27baaf82615453a772b3371d58909f341f (diff) | |
download | tcl-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.h | 3 |
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; \ |