summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2011-06-02 14:45:00 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2011-06-02 14:45:00 (GMT)
commitc64a4321a3facb02fef01af7f7384f8ef961ff4f (patch)
tree47d1bb6bee23c9563a20a7859d96bf43555bd593 /generic
parentc31b5e030892e09c7f5bdc8538ecc09b760bab3b (diff)
parent5d982178ea4904932de32a6331512d6db0174a91 (diff)
downloadtcl-c64a4321a3facb02fef01af7f7384f8ef961ff4f.zip
tcl-c64a4321a3facb02fef01af7f7384f8ef961ff4f.tar.gz
tcl-c64a4321a3facb02fef01af7f7384f8ef961ff4f.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 1c1e615..d9b82d5 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -3727,8 +3727,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))
/*
@@ -3759,8 +3759,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++; \
}
/*