summaryrefslogtreecommitdiffstats
path: root/generic/tclHash.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix unitialized memory report from valgrinddgp2019-07-011-0/+1
|\
| * Avoid valgrind issues with uninitialized memorydgp2019-07-011-0/+1
| |\
| | * Avoid valgrind issues with "uninitialized memory"dgp2019-07-011-0/+1
| | |
* | | Eliminate (internal) TclOffset() usage, just use offsetof() in stead.jan.nijtmans2019-06-121-1/+1
| | |
* | | merge 8.6dgp2019-05-211-1/+1
|\ \ \ | |/ /
| * | Knock VOID back downdgp2019-05-211-1/+1
| | |
* | | merge 8.6 (fixed optimization for create/search hash entries with the same keys)sebres2019-05-211-1/+4
|\ \ \ | |/ /
| * | fixed mistake in optimization of [3f693cdfe9c875c4] (bypass of ↵sebres2019-05-211-1/+4
| |\ \ | | |/ | | | | | | compareKeysProc if keys pointers/objects are equal) - it should compare given key with entry key (not with a hash entry)
| | * small amend (no cast needed)sebres2019-05-211-1/+1
| | |
| | * cherry-picing of [3f693cdfe9c875c4] to be more compatible across version, ↵sebres2019-05-211-1/+4
| | | | | | | | | | | | resolve mistake with "key objects/pointers comparison by the hash entry" firstly introduced there.
* | | More use of (efficient) TclHasIntRep() macro. Also eliminate many (size_t) ↵jan.nijtmans2019-02-271-2/+2
| | | | | | | | | | | | and (unsigned) type-casts, which don't make sense any more.
* | | compiler warningdgp2017-11-081-1/+1
|\ \ \ | |/ /
| * | compiler warningdgp2017-11-081-1/+1
| |\ \ | | |/
| | * compiler warningdgp2017-11-081-1/+1
| | |
* | | merge 8.6dgp2017-11-081-5/+8
|\ \ \ | |/ /
| * | [3298012] Stop RebuildTable asking ckalloc for more than it can give.dgp2017-11-081-5/+8
| |\ \ | | |/
| | * Attempted bug fix.dgp2017-11-071-5/+8
| | |
| | * [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-161-2/+2
| | |\
| | | * Silence unused variable warningdgp2011-04-201-2/+1
| | | |
| | | * gcc warning: unused variable "key"jan.nijtmans2011-03-281-2/+1
| | | |
| | | * [Bug 3007895]: Tcl_(Find|Create)HashEntryjan2011-03-251-2/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | stub entries can never be called. They still cannot be called (no change in functionality), but at least they now do exactly the same as the Tcl_(Find|Create)HashEntry macro's, so the confusion addressed in this Bug report is gone. Merged --cherrypick from Tcl8.5 (2010-12-31,e75735ef76)
* | | | Remove some unnecessary #if 0 sections. Fix comments and panic messages. No ↵jan.nijtmans2017-09-141-13/+0
| | | | | | | | | | | | | | | | functional changes.
* | | | Remove spurious article in commentsandy2016-11-251-2/+2
| | | |
* | | | Make hash type changable by compiling with -DTCL_HASH_TYPE=size_t (for ↵jan.nijtmans2016-07-121-6/+6
| | | | | | | | | | | | | | | | example). Default (unsigned) cannot be changed in Tcl 8.x, that must wait until Tcl 9.
* | | | Remove undocumented TCL_HASH_KEY_STORE_HASH. Setting this to "0" is not ↵jan.nijtmans2016-03-161-37/+0
|/ / / | | | | | | | | | supported (was it ever ????), and not tested for long time.
* | | micro-opt of hash lookups found by drhMiguel Sofer2015-09-221-1/+1
| | |
* | | Reduce amount of unreachable code. Refactor Win socket and load code to be lessdkf2012-04-051-1/+3
| | | | | | | | | baroque in its internals.
* | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-10/+10
| | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | cause more harm than good. Purged them (except in zlib files).
| * | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ \ | | |/ | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2,nijtmans2011-01-251-17/+17
| | | | | | | | | | | | backported strcpy->memcpy change but not change in any struct.
| | * * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() insteaddas2004-11-111-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of manual copy loop to shift list elements. Decreases time spent in Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243] * generic/tclHash.c: hoisted some constant pointer dereferences out of loops to eliminate redundant loads that the gcc optimizer didn't deal with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full run of the tcl testuite on a ppc 7455. [Patch 1064243]
| * | [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2,nijtmans2011-01-251-7/+7
| | | | | | | | | | | | backported strcpy->memcpy change but not change in any struct.
| * | [Bug 3007895]: Tcl_(Find|Create)HashEntry stub entries can never be called.nijtmans2010-12-311-4/+25
| | | | | | | | | | | | | | | | | | They still cannot be called (no change in functionality), but at least they now do exactly the same as the Tcl_(Find|Create)HashEntry macro's, so the confusion addressed in this Bug report is gone. (Backported from Tcl 8.6)
| * | fix [Bug 2308236] signature of Tcl_HashStats() wrongnijtmans2008-11-181-2/+2
| | |
* | | [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2nijtmans2010-12-101-7/+7
| | |
* | | fix gcc 64-bit warnings: cast from pointer to integer of different sizenijtmans2010-12-011-4/+4
| | | | | | | | | | | | fix gcc(-4.5.2) warning: 'static' is not at beginning of declaration
* | | [Bug 3007895] Tcl_(Find|Create)HashEntry stub entries can never be called.nijtmans2010-08-241-6/+26
| | |
* | | [ tcl-Feature Requests-2958832 ] Furthernijtmans2010-02-251-5/+9
| | | | | | | | | | | | | | | | | | speed-up of ouster-hash function. Eliminate various unnecessary (ClientData) type casts.
* | | More tidying up (whitespace, spelling, useless parentheses, useless casts)dkf2010-02-241-5/+5
| | |
* | | Return to using the classic hash function. Now with *extensive* notes in thedkf2010-02-171-14/+32
| | | | | | | | | | | | comments about why this function is preferred.
* | | Forgot the magic bias values. FNV is wildly magical...dkf2010-02-101-2/+2
| | |
* | | Minor corrections as recommended by Joe English.dkf2010-02-091-4/+4
| | |
* | | Upgrade Tcl's hash function to use the FNV-32 algorithm. This is marginallydkf2010-02-071-20/+13
| | | | | | | | | | | | | | | faster and gives a bit better distribution of keys (especially in large hash tables) but does change hash iteration order.
* | | * generic/tclBinary.c: Removed unused variables.dgp2009-07-161-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclHash.c: * generic/tclIOUtil.c: * generic/tclVar.c: * generic/tclBasic.c: Silence compiler warnings about ClientData. * generic/tclProc.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
* | | Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-8/+9
| | | | | | | | | | | | etc.)
* | | Fix signature and implementation of Tcl_HashStats,nijtmans2008-11-171-7/+3
| | | | | | | | | | | | such that it conforms to the documentation.
* | | Add "const" to many internalnijtmans2008-10-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries.
* | | * doc/Hash.3: CONSTified the typePtr argumentnijtmans2008-10-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: of Tcl_InitCustomHashTable. * generic/tcl.h * generic/tclHash.c * ChangeLog * generic/tclDecls.h: regenerated This change complies with TIP #27.