diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2011-06-02 14:45:00 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2011-06-02 14:45:00 (GMT) |
commit | c64a4321a3facb02fef01af7f7384f8ef961ff4f (patch) | |
tree | 47d1bb6bee23c9563a20a7859d96bf43555bd593 /generic | |
parent | c31b5e030892e09c7f5bdc8538ecc09b760bab3b (diff) | |
parent | 5d982178ea4904932de32a6331512d6db0174a91 (diff) | |
download | tcl-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.h | 11 |
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++; \ } /* |