summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2011-06-02 14:55:53 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2011-06-02 14:55:53 (GMT)
commitd8a99b464be44ee36d293c2d2aed4e0e502a23b3 (patch)
tree8cec4f70262ff9a85d0a6d6120dafc75d8d0a36b /generic
parent0bd52c5044d5dc3e8e67ce0af9e97358e6f5107e (diff)
parentc64a4321a3facb02fef01af7f7384f8ef961ff4f (diff)
downloadtcl-d8a99b464be44ee36d293c2d2aed4e0e502a23b3.zip
tcl-d8a99b464be44ee36d293c2d2aed4e0e502a23b3.tar.gz
tcl-d8a99b464be44ee36d293c2d2aed4e0e502a23b3.tar.bz2
[Bug 3185407]: Extend the set of epochs that are potentially bumped (in
TclInvalidateNsCmdLookup) when a command is created, for a slight performance drop (in some circumstances) and improved semantics.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclInt.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index cde46ac..398d64c 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -4169,8 +4169,8 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
*/
#define TclUtfToUniChar(str, chPtr) \
- ((((unsigned char) *(str)) < 0xC0) ? \
- ((*(chPtr) = (Tcl_UniChar) *(str)), 1) \
+ ((((unsigned char) *(str)) < 0xC0) ? \
+ ((*(chPtr) = (Tcl_UniChar) *(str)), 1) \
: Tcl_UtfToUniChar(str, chPtr))
/*
@@ -4243,8 +4243,11 @@ MODULE_SCOPE void TclDbInitNewObj(Tcl_Obj *objPtr, const char *file,
*/
#define TclInvalidateNsCmdLookup(nsPtr) \
- if ((nsPtr)->numExportPatterns) { \
- (nsPtr)->exportLookupEpoch++; \
+ if ((nsPtr)->numExportPatterns) { \
+ (nsPtr)->exportLookupEpoch++; \
+ } \
+ if ((nsPtr)->commandPathLength) { \
+ (nsPtr)->cmdRefEpoch++; \
}
/*