summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2019-05-21 11:40:37 (GMT)
committersebres <sebres@users.sourceforge.net>2019-05-21 11:40:37 (GMT)
commite94891207a103ee730e59b6e3111fe1ff9528507 (patch)
tree146b8067e352ed3ec9e14e9aae68fe694d8c5f9c /generic
parenta68f7032b3a1880b9edd85bcf98d5a38e7705067 (diff)
parente2f5de73e3cbbf4fd7b73672cb2abb469fa1c4c2 (diff)
downloadtcl-e94891207a103ee730e59b6e3111fe1ff9528507.zip
tcl-e94891207a103ee730e59b6e3111fe1ff9528507.tar.gz
tcl-e94891207a103ee730e59b6e3111fe1ff9528507.tar.bz2
merge 8.6 (fixed optimization for create/search hash entries with the same keys)
Diffstat (limited to 'generic')
-rw-r--r--generic/tclHash.c5
-rw-r--r--generic/tclTest.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclHash.c b/generic/tclHash.c
index f7f9b32..d34b726 100644
--- a/generic/tclHash.c
+++ b/generic/tclHash.c
@@ -311,7 +311,10 @@ CreateHashEntry(
if (hash != PTR2UINT(hPtr->hash)) {
continue;
}
- if (((void *) key == hPtr) || compareKeysProc((void *) key, hPtr)) {
+ /* if keys pointers or values are equal */
+ if ((key == hPtr->key.oneWordValue)
+ || compareKeysProc((VOID *) key, hPtr)
+ ) {
if (newPtr) {
*newPtr = 0;
}
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 8476ecb..8474a91 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -4417,7 +4417,7 @@ TesttranslatefilenameCmd(
*
* TestupvarCmd --
*
- * This procedure implements the "testupvar2" command. It is used
+ * This procedure implements the "testupvar" command. It is used
* to test Tcl_UpVar and Tcl_UpVar2.
*
* Results: