summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsGR.c
Commit message (Collapse)AuthorAgeFilesLines
* [47ac84309b] Import of aspect's branch from his personal repository on ↵aspect_lreplace_cleanupdkf2016-03-301-7/+40
| | | | chiselapp.
* [47ac84309b] Fix problems with [lreplace] compilation.dkf2016-03-271-2/+12
|
* Simple change gets most of the effect. Fails to handle backslash. anyone care?bug_1a25fdfec6dgp2016-03-111-1/+3
|
* typo in comment. Eliminate unnecessary end-of-line spacing.jan.nijtmans2015-10-191-2/+2
|
* [a4cb3f06c4] Fix edge case handling in lreplace. Many more tests.dgp2015-06-181-1/+1
|\
| * fix for a4cb3f06c4fe - bug introduced in 32b61592465aspect2015-06-161-1/+1
| |
* | Tidier version.dgp_defer_string_repdkf2015-05-191-15/+1
| |
* | Don't cause string rep generation in [list <lit> <lit> ... <lit>] bytecode.dgp2015-05-191-9/+10
|/ | | Candidate for merge to trunk to simplify bytecode.
* undo erroneous change in [1fa2e32e07]aspect_lreplace_fixaspect2015-02-191-1/+1
|
* handle [lreplace l x y ...] where y<xaspect2015-02-191-3/+4
|
* (core ticket [32b6159246]) Fix for [lreplace l x y] where y<x-1aspect2015-02-191-1/+4
|
* Use more suitable variable name pushers.dgp2014-12-231-10/+6
|
* [214cc0eb22] Restore [lappend $var] return value to the 8.6.1- behavior.dgp2014-11-051-1/+1
| | | If this is going to change, lets not do it by accident.
* Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]Miguel Sofer2014-09-271-2/+0
| | | | | The "optimisation" in that commit assumes that the last byte in the generated bytecodes is an INST_TRY_CONVERT if it equals 64. This is an invalid assumption, it could be 64 and not be an instruction.
* [84af1192f5]: [regsub] compiler no longer confused by quantification handling.dkf2014-09-091-3/+4
|
* [ccc2c2cc98]: lreplace edge casedkf2014-09-051-1/+13
|
* [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-181-43/+17
| | | lappend to not have quadratic performance (through better reference management).
* added compilation for [nextto]dkf2014-01-191-0/+25
|
* merge main working branchdkf2013-12-301-0/+35
|
* implement [namespace origin] in bytecodedkf2013-12-301-0/+22
|
* merge trunkdkf2013-12-231-0/+2
|\
| * remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-201-0/+2
| | | | | | | | from mig-optimize)
* | Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-1/+1
| | | | | | | | the no-indices case; that's the only case anyone actually commonly uses.
* | Stack depth calculation correction.dkf2013-10-231-0/+2
| |
* | merge trunkdkf2013-10-201-3/+24
|\ \ | |/
| * And the last bits that need fixing; the code is still less efficient than ↵dkf_loop_exception_range_workdkf2013-10-201-1/+5
| | | | | | | | desired but should now not crash.
| * Fix handling of 'invokeExpanded' and start to do 'returnStk'.dkf2013-10-191-2/+2
| |
| * Do jump generation at places where INST_RETURN_IMM might occur.dkf2013-10-151-1/+17
| |
| * update commentsdkf2013-10-131-0/+1
| |
* | Factor out some knowledge of immediate index encoding.dkf2013-10-061-17/+19
| |
* | Added 'linsert' compiler. Factored out constant list index parser.dkf2013-10-051-122/+156
| |
* | Expand subset of lreplace functionality that is compiled.dkf2013-10-021-17/+142
|/
* Line numbers wrong in compiled [unset].dgp2013-09-191-0/+1
|
* Line numbers wrong in compiled [global] and [variable].dgp2013-09-191-2/+8
|
* Line numbers wrong in compiled [namespace upvar].dgp2013-09-191-3/+3
|
* Line numbers wrong in compiled [upvar].dgp2013-09-191-8/+8
|
* Mark commands with potential to compile expansion arguments (as [list] does).dgp2013-07-241-0/+4
|
* merge trunkdgp2013-07-151-6/+3
|\
| * Prefer CompileWord() over CompileTokens() when possible.dgp2013-07-151-2/+1
| |
| * Global replace: CompileBody() -> BODY().dgp2013-07-121-4/+2
| |
* | Stop the compileProc routines leaving behind error messages in interp.dgp2013-06-271-0/+1
|/ | | | | (Nicer way to solve [Bug 20a81392ec].) Make simplifications in TclCompileScript() make possible by the new structure. Still a work in progress.
* Select improvements in stack depth estimates brought over from mig-review.dgp2013-06-111-14/+1
| | | | | Mostly these are just simplifications, removing code that wasn't needed. Some changes make the stack depth estimate more accurate instruction by instruction.
* 3614360 Repair stack demands of optimized compiled [return LITERAL].dgp2013-06-061-0/+1
|
* Stop emitting the instructions INST_*_SCALAR_STK*. They are identical todgp2013-05-291-49/+28
| | | | | | | their INST_*_STK* counterparts. Having done that, it is clear the "simpleVarName" return from TclPushVarName provides nothing of use to any of its callers. Eliminate that. Also make TPVN return void, instead of int. Bring the TPVN header comments up to date; they were quite rotten.
* Repair some stack depth housekeeping.dgp2013-05-251-5/+0
|
* Spare developers the burden and error risk of counting bytes in stringdgp2013-05-231-22/+22
| | | literals, or having to type them twice.
* Eliminate code duplication.dgp2013-05-231-305/+0
|
* Don't #define VOID on VxWorks, as it is already typdef'd to void. Eliminate ↵jan.nijtmans2013-05-191-7/+0
| | | | possibly conflicting LOCAL/OFFSET
* Split tclCompCmds.c into two roughly-equal-sized pieces.dkf2013-05-181-0/+3244