summaryrefslogtreecommitdiffstats
path: root/generic/tclEnsemble.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge core-8-6-branch. This removes the work currently being done in ↵jan.nijtmans2017-06-021-17/+3
|\ | | | | | | | | "sebres-8-6-clock-speedup-cr1" branch, but that will be merged again as soon as the work is done. All other changes in "trunk" since then (e.g. the INST_STR_CONCAT1 performance improvement, and the removal of SunOS-4) are retained.
* \ merge core-8-6-branch (except: the "timerate" command and the clock ↵jan.nijtmans2017-05-311-2/+2
|\ \ | | | | | | | | | performance-tests are kept)
| * | More code review, e.g. use Tcl_SetObjResult in stead of Tcl_SetResult, ↵jan.nijtmans2017-05-311-2/+2
| | | | | | | | | | | | preventing a (char *) type case. No functional changes.
* | | reintegrate sebres-8-6-clock-speedup back to sebres-clock-speedup (trunk ↵sebres2017-05-111-3/+17
|\ \ \ | |/ / | | | | | | clock-speedup, 3-way merge)
| * | Ensemble "clock" fixed after merge with kbk's clock ensemble solution. All ↵sebres2017-05-101-3/+17
| |/ | | | | | | | | | | commands (including new) compiled now also in ensemble (implemented without TclMakeEnsemble, because it can be extended via new map entries). Ensemble handling partially cherry-picked from new performance branch (TODO: check temporary "-compile" option can be reverted if it becomes ready/merged).
* | More internal use of size_t in stead of int, e.g. for epoch'sjan.nijtmans2017-02-151-1/+1
| |
* | more internal use of size_t in stead of int.jan.nijtmans2016-12-201-5/+5
| |
* | Use more "size_t" in stead of "int" internall. Also eliminate a lot of ↵jan.nijtmans2016-11-161-1/+1
| | | | | | | | type-casts which are not necessary any more.
* | [824752f10e] Use LIST_MAX instead of INT_MAX for unknown number of elements ↵dgp2016-11-041-1/+1
|\ \ | |/ | | | | to the end of the list.
| * [8245752f10e] Use LIST_MAX instead of INT_MAX for unknown number of elementsdgp2016-11-041-1/+1
| | | | | | to the end of the list.
* | Fix [d4e7780ca1681cd095dbd81fe264feff75c988f7|d4e7780ca1]: "global" cmd ↵jan.nijtmans2016-09-071-5/+8
|\ \ | |/ | | | | literal sharing vs. per-interp resolvers
| * some more clean-upjan.nijtmans2016-09-051-6/+4
| |
| * Some patch clean-up, no change in functionalityjan.nijtmans2016-09-051-1/+1
| |
| * Proposed patch for [d4e7780ca1681cd095dbd81fe264feff75c988f7|d4e7780ca1], by ↵jan.nijtmans2016-09-021-2/+7
| | | | | | | | Gustaf Neumann
* | merge 8.6dgp2016-07-091-3/+7
|\ \ | |/
| * Repair some memory corruption problems in EnsembleCmdRep.dgp2016-07-081-3/+7
| |\
| | * Missed a cleanup line, which created a memleak.dgp_ecrdgp2016-07-071-0/+1
| | |
| | * To use a Tcl_Command token [aka (Command *)] for epoch checking, we must notdgp2016-07-071-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | permit it to be freed while we hold it or else it could be mistaken for another token allocated later that just happens to reside at the same address. (Command *) preservation machinery already exists, just need to use it. An extension facing the same problem might have to rely on command delete traces. Earlier revisions used (Namespace *) lifetime to achieve the same results, but that's really an indirect (possibly non-robust) path to achieving the proper goal. Valgrind is happy now.
* | | Micro-optimization: Use TclGetStringFromObj in stead of Tcl_GetStringFromObj ↵jan.nijtmans2016-07-081-4/+4
|/ / | | | | | | in many places where possible.
* | Create and use a utility Tcl_NRPostProc when decr ref count of values isdgp2016-07-061-15/+2
| | | | | | all that is needed.
* | [bd7f17bce8] Revise ensemble dispatch to call TclNREvalObjv() which supportsdgp2016-07-061-16/+10
| | | | | | the TCL_EVAL_INVOKE flag that is needed.
* | New tests to demo the remaining flaw in ensemble dispatch revisions.dgp2016-07-051-1/+7
| | | | | | Itcl 4 also demonstrated these problems.
* | Fixup the ensemble rewrite conversions (merge fork)jan.nijtmans2016-07-051-6/+1
|\ \
| * | Fixup the ensemble rewrite conversions.core_8_6_branch_forkdgp2016-07-041-6/+1
| | |
* | | typo and end-of-line spacingjan.nijtmans2016-07-041-5/+5
|/ /
* | Use conventional list operations for ensemble dispatch.dgp2016-07-031-34/+23
| |
* | [f961d7d1dd] Repair usage message for ensemble parameters with spaces.dgp2016-07-021-10/+3
|/
* The EnsembleCmdRep struct that is the internal rep for caching ensembledgp2016-07-011-5/+21
| | | dispatches and spelling corrections can now be file static.
* [4402cfa58c] Rework the spell check machinery into something that will not bedgp2016-07-011-21/+165
| | | foiled by value sharing.
* Encapsulate the fetching of the ensemble rewrite root, used by [namespace].dgp2016-07-011-0/+34
|
* merge 8.6dgp2016-06-281-19/+3
|\
| * Adapt and tidy up the bug fix.dgp2016-05-241-34/+0
| |
| * Merge the bug fix and test case.dgp2016-05-241-1/+2
| |\
| | * Now fix the bug.dgp_bug_finddgp2016-05-241-2/+2
| | |
| | * New test namespace-53.11 demonstrates the bug.dgp2016-05-241-7/+1
| | |
| | * The handling of ensemble rewriting here is not right, but I've not yetdgp2016-05-241-0/+7
| | | | | | | | | | | | found the test case to demonstrate it. Checking in debugging code to spread to other dev platforms.
| * | Appears that the TclInitRewriteEnsemble() routine was created with an intentdgp2016-05-241-1/+18
| |/ | | | | to refactor, but never actually got used. Work on continuing that effort.
* | Don't see why the intrep should make and keep copies of things alreadydgp2016-05-121-27/+10
| | | | | | stored in the hash table.
* | The "ensembleCommand" Tcl_ObjType has no need for an UpdateString routine.dgp2016-05-121-31/+1
| | | | | | It is entirely a caching type. No "pure" value can exist.
* | Remove the nsPtr field from the EnsembleCmdRep struct. Cannot see anydgp2016-05-121-8/+1
|/ | | justification for keeping it (can get via token), and test suite doesn't care.
* [b9b2079e6d] Proposed fix. When a compileProc fails, it may have done andgp2016-03-101-0/+43
| | | | | arbitrary amount of partial work, which needs to be undone. When the exception handling machinery got its last big revision, the undoing of what it does was neglected. I think this patch gets it all, but more eyes would be good.
* Align comment. Remove some end-of-line spacing. No functional changes.jan.nijtmans2015-09-281-1/+1
|
* [e75fabac06] Teardown line information after failed ensemble subcommanddgp2014-08-011-0/+18
| | | | compile attempts. Copy/paste from CompileCmdCompileProc(). May be refactor opportunity here.
* Correction and commentary in the details of ensemble compiling.dgp2014-08-011-1/+17
|
* [6d2f249a01] Handle a failure to comprehend half-way through the compilation ↵dkf2014-05-111-7/+17
| | | | of a chain of compileable ensembles.
* Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-3/+1
| | | | exceptions.
* more disabled code removaldgp2013-07-241-46/+0
|
* Factor out the call to a compileProc into one place used by both ensembledgp2013-07-171-7/+21
| | | subcommand compiles and toplevel command compiles in TclCompileScript.
* Simplify the ensemble subcommand compile. There's no need to bedgp2013-07-161-55/+15
| | | crafting synthetic Tcl_Parse and copying tokens. Some pointer shifts will do.
* Simplify arguments to TclContinuationsEnterDerived().dgp2013-07-161-6/+8
|