summaryrefslogtreecommitdiffstats
path: root/generic/tclListObj.c
Commit message (Collapse)AuthorAgeFilesLines
* Silence compiler warnings.dgp2014-01-211-6/+6
|
* Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-7/+7
|
* Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-2/+0
| | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* restore refcounts as they were before the Tcl_ListObjReplace call, in the ↵jan.nijtmans2012-12-291-0/+8
|\ | | | | | | | | error situation. In Tcl9, make this a true Tcl_DecrRefCount, which properly cleans objects with refCount 0
| * For Tcl9, do a real Tcl_DecrRefCountbug_3598580jan.nijtmans2012-12-291-0/+4
| |
| * restore old refcounts in TCL_ERROR case.jan.nijtmans2012-12-271-0/+3
|/
* [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too earlyjan.nijtmans2012-12-271-4/+5
|\
| * [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too early jan.nijtmans2012-12-271-2/+4
| | | | | | | | | | Tests!? Where are the tests!?! They are in test listobj-11.1
* | Completed patch with mucho comments. Merge 8.5.bug_3173086dgp2011-05-101-197/+159
| |
* | Significant rewrite of the Tcl*(Scan|Convert)*Element() system, and revisionsdgp2011-03-031-34/+33
| | | | | | | | to the callers. Needs more work on comments, and testing to check for any performance impact in either direction. Fixes reported bug.
* | 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.
| * Backport of fix for [Bug 1267380]dkf2005-08-251-1/+7
| |
| * * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() insteaddas2004-11-111-12/+4
| | | | | | | | | | | | | | | | | | | | | | 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]
* | Backport of fix for [Bug 3004007], EIAS violation in list-dict conversions.ferrieux2010-05-191-3/+5
| |
* | * generic/tclListObj.c: Prevent in overflow trouble in [lreplace]dgp2010-03-181-2/+6
| | | | | | | | | | * generic/tclTestObj.c: operations. Thanks to kbk for fix and test. * tests/listObj.test: [Bug 2971669].
* | Fix efficiency bug detected by Kieran Elby.dkf2008-09-101-2/+11
| |
* | Fix [Bug 2008248] and make dict->list->dict round trip efficient to boot.dkf2008-07-201-1/+54
| |
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-21/+28
| | | | | | | | objTypes.
* | * tests/lindex.test (lindex-17.[01]): Added code to detect theKevin B Kenny2007-09-031-2/+9
| | | | | | | | | | | | error when a script does [lindex {} end foo]; an overaggressive optimisation caused this call to return an empty object rather than an error.
* | * generic/tclListObj.c: reverting [Patch 738900] (committed onMiguel Sofer2007-04-241-106/+56
| | | | | | | | | | | | 2007-04-20). Causes some Tk test breakage of unknown importance, but the impact of the patch itself is likely to be so small that it does not warrant investigation at this time.
* | * generic/tclListObj.c (TclLsetFlat): Fixed a bug where the newKevin B Kenny2007-04-241-2/+8
| | | | | | | | | | list under construction was leaked in the error case.[Bug 1705778, leaks K13 and K14]
* | * generic/tclListObj.c (SetListFromAny): avoid discarding internalMiguel Sofer2007-04-201-56/+106
| | | | | | | | reps of objects converted to singleton lists [Patch 738900]
* | 2007-03-20 Kevin B. Kenny <kennykb@acm.org>Kevin B Kenny2007-03-201-126/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclDate.c: Rebuilt, despite Donal Fellows's comment when committing it that no rebuild was required. * generic/tclGetDate.y: According to Donal Fellows, "Introduce modern formatting standards; no need for rebuild of tclDate.c." * library/tzdata/America/Cambridge_Bay: * library/tzdata/America/Havana: * library/tzdata/America/Inuvik: * library/tzdata/America/Iqaluit: * library/tzdata/America/Pangnirtung: * library/tzdata/America/Rankin_Inlet: * library/tzdata/America/Resolute: * library/tzdata/America/Yellowknife: * library/tzdata/Asia/Choibalsan: * library/tzdata/Asia/Dili: * library/tzdata/Asia/Hovd: * library/tzdata/Asia/Jakarta: * library/tzdata/Asia/Jayapura: * library/tzdata/Asia/Makassar: * library/tzdata/Asia/Pontianak: * library/tzdata/Asia/Ulaanbaatar: * library/tzdata/Europe/Istanbul: Upgraded to Olson's tzdata2007d. * generic/tclListObj.c (TclLsetList, TclLsetFlat): * tests/lset.test: Changes to deal with shared internal representation for lists passed to the [lset] command. Thanks to Don Porter for fixing this issue. [Bug 1677512]
* | added missing panicdgp2007-03-171-1/+4
| |
* | Tightening up declaration scopes, improving some comments with xrefs to bugDBdkf2007-03-121-44/+49
| |
* | Move 'return' in TclListObjSetElement into correct place!dkf2007-03-101-31/+27
| |
* | * generic/tclListObj.c (TclLsetList): Rewrite so that the routinedgp2007-03-081-70/+26
| | | | | | | | | | itself does not do any direct intrep surgery. Better isolates those things into the implementation of the "list" Tcl_ObjType.
* | Moved [lindex] guts to tclListObj.c, same as [lset] guts.dkf2007-03-081-1/+166
| |
* | Minor comment cleaning updkf2007-03-071-42/+41
| |
* | Added comments warning against certain optimizationsdgp2007-03-021-1/+9
| |
* | * generic/tclBasic.c: Use new interface in Tcl_EvalObjEx so thatdgp2007-02-241-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | the recounting logic of the List internal rep need not be repeated there. Better encapsulation of internal details. * generic/tclInt.h: New internal routine TclListObjCopy() used * generic/tclListObj.c: to efficiently do the equivalent of [lrange $list 0 end]. After some experience with this, might be a good candidate for exposure as a public interface. It's useful for callers of Tcl_ListObjGetElements() who want to control the ongoing validity of the returned objv pointer.
* | Minor simplification of memcpy usagedkf2006-11-081-7/+5
| |
* | Various minor object file size efficiency fixes. [Bug 1530474]dkf2006-08-101-8/+8
| |
* | * generic/regc_locale.c (cclass):das2006-07-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclExecute.c (TclExecuteByteCode): * generic/tclIOCmd.c (Tcl_ExecObjCmd): * generic/tclListObj.c (NewListIntRep): * generic/tclObj.c (Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, FreeBignum, Tcl_SetBignumObj): * generic/tclParseExpr.c (Tcl_ParseExpr): * generic/tclStrToD.c (TclParseNumber): * generic/tclStringObj.c (TclAppendFormattedObjs): * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned comparison and other warnings from gcc4 -Wextra.
* | Export stubs for libtommath; fix mingw compiler warningsKevin B Kenny2005-12-131-2/+2
| |
* | * generic/tclListObj.c: Restored the SetListFromAny routine todgp2005-11-181-2/+2
| | | | | | | | | | | | | | * generic/tclObj.c: the "list" Tcl_ObjType, and restored the Tcl_RegisterObjType() call for "list". This addresses the needs of some "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is that of the "list" Tcl_ObjType.
* | More bits of ANSIfyingdkf2005-11-111-115/+123
| |
* | * generic/tclListObj.c (TclLsetFlat):Miguel Sofer2005-10-201-5/+22
| | | | | | | | | | * tests/lset.test (lset-10.3): fixed handling of unshared lists with shared sublists, [Bug 1333036] reported by neuronstorm.
* | Add flag to lists so that evaluating contexts can handle them efficiently muchdkf2005-09-061-45/+63
| | | | | | | | | | of the time even when they are not pure. The flag works by keeping track of when the string rep was derived from the internal rep.
* | * unix/tclUnixSock.c (InitializeHostName): Synchronized use ofandreas_kupries2005-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | static modifier in declaration and definition of function. * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static modifier in declaration and definition of function. * generic/tclResult.c (ReleaseKeys): Synchronized use of static modifier in declaration and definition of function. * generic/tclListObj.c (NewListIntRep): Synchronized use of static modifier in declaration and definition of function. * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized use of static modifier in declaration and definition of function. * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of static modifier in declaration and definition of function. * generic/tclIORChan.c (RcNewHandle): Synchronized use of static modifier in declaration and definition of function.
* | Better to panic sanely than to crash with a bad memory access. [Bug 1267380]dkf2005-08-251-1/+7
| |
* | Getting more systematic about styledkf2005-07-191-317/+317
| |
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL returndas2005-04-091-2/+3
| | | | | | | | when getting index from an empty list.
* | Changed the internal representation of lists to (a) reduce the malloc/freeMiguel Sofer2005-04-021-475/+396
| | | | | | | | | | | | | | | | calls at list creation (from 2 to 1), (b) reduce the cost of handling empty lists (we now never create a list internal rep for them), (c) allow refcounting of the list internal rep. The latter permits insuring that the pointers returned by Tcl_ListObjGetElements remain valid even if the object shimmers away from its original list type. This is [Patch 1158008]
* | * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() insteaddas2004-11-111-12/+4
| | | | | | | | | | | | | | | | | | | | | | 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]
* | Factorize out the code for freeing an object's internal rep.dkf2004-09-291-10/+3
| |
* | All uses of 'panic' (the macro) changeddavygrvy2003-12-241-11/+11
| | | | | | | | | | | | | | to 'Tcl_Panic' (the function). The #define of panic in tcl.h clearly states it is deprecated in the comments. [Patch 865264]