summaryrefslogtreecommitdiffstats
path: root/generic/tclAssembly.c
Commit message (Collapse)AuthorAgeFilesLines
* Bug fix: Assembler dereferences a rogue pointer when unstacking an empty ↵bug_3154ea2759Kevin B Kenny2016-05-131-4/+6
|\ | | | | | | exception range.
| * Bug fix. Have to arrange to only close a catch once. After the spacebug_3154ea2759dgp2016-05-061-0/+3
|/ | | | | | | | has been returned to placeholder values, closing with them as data leads to memory corruption. There's probably a better fix available because the error here feels like it's rooted somewhere else, having us continue to check values we ought to know have already been closed.
* [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-181-0/+4
| | | lappend to not have quadratic performance (through better reference management).
* add compilation of [string is]dkf2014-02-021-1/+4
|\
| * merge principal development branchdkf2014-01-251-0/+1
| |\
| * | extend [string is] to booleansdkf2014-01-131-0/+1
| | |
| * | a different approachdkf2014-01-101-1/+3
| | |
* | | Squashed C99 syntax breaking the native AIX cc.andreask2014-01-291-3/+3
| |/ |/|
* | added compilation for [nextto]dkf2014-01-191-0/+1
|/
* implement [namespace origin] in bytecodedkf2013-12-301-0/+1
|
* allow generation by assemblerdkf2013-12-301-3/+4
|
* Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-5/+9
| | | | the no-indices case; that's the only case anyone actually commonly uses.
* General [concat] compilation.dkf2013-10-261-1/+4
|
* Change name of instruction to make way for future changes.dkf2013-10-261-1/+2
|
* merge fixes from trunkdkf2013-10-221-31/+3
|\
| * Fix for assemble.test; problem was a total assumption failure caused by way ↵dkf2013-10-221-31/+3
| | | | | | | | that the assembler works.
* | merge trunkdkf2013-10-201-3/+31
|\ \ | |/
| * And the last bits that need fixing; the code is still less efficient than ↵dkf_loop_exception_range_workdkf2013-10-201-4/+31
| | | | | | | | desired but should now not crash.
| * Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-0/+1
| | | | | | | | exceptions.
* | cleaner and faster 'string trim'dkf2013-10-031-1/+2
| |
* | First attempt at [string trim] compilation.dkf2013-09-301-1/+4
|/
* [7b32d8d13b] Insert missing field initialization.dgp2013-09-161-0/+1
|
* Simplify AuxData access with a macro.dgp2013-07-271-1/+1
|
* more disabled code removaldgp2013-07-241-7/+0
|
* [assemble] compile syntax error into bytecode reporting syntax error message.dgp_tcs_rewritedgp2013-07-181-7/+3
|
* merge trunkdgp2013-07-181-7/+8
|\
| * [Bug 1c17fbba5d] Fix -errorinfo from syntax errors so that the error isdgp2013-07-181-7/+8
| | | | | | not obscured. Instead highlight it by making it the last character quoted.
* | Stop the compileProc routines leaving behind error messages in interp.dgp2013-06-271-2/+30
|/ | | | | (Nicer way to solve [Bug 20a81392ec].) Make simplifications in TclCompileScript() make possible by the new structure. Still a work in progress.
* Stack cleanup works now even in the most evil expansion cases.dkf2013-06-051-1/+1
|
* Remove useless macro, use existing macro where it makes sense.dkf2013-06-021-2/+2
|
* Stop emitting the instructions INST_*_SCALAR_STK*. They are identical todgp2013-05-291-5/+4
| | | | | | | 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.
* Missed bits of dup code elimination.dgp2013-05-281-23/+0
|
* Removing a few changes that were not actually needed, and correcting comments.dkf2013-05-151-1/+1
|
* Optimizations and general bytecode generation improvements.dkf2013-05-101-1/+2
|
* unused variablesdgp2013-02-221-5/+0
|
* Shift more burden of smart cleanup onto the TclFreeCompileEnv() routine.dgp2013-02-221-38/+0
| | | Stop crashes when the hookProc raises an error.
* merge core-8-5-branchjan.nijtmans2013-01-311-4/+3
|
* fix minor memory leakjan.nijtmans2013-01-251-1/+0
|
* Eliminate some unneeded usages of Tcl_SetResult, Tcl_AddObjErrorInfojan.nijtmans2013-01-251-5/+4
| | | Fix "make test-packages" on cygwin
* Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-0/+4
| | | | whole bunch of issues with opcode issuing that were causing problems with stack depth calculations.
* Added compilation of [string last] and improved the compilation of [string ↵dkf2012-11-031-4/+6
| | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
* Added compilation of [info object isa object] (i.e., object verification).dkf2012-11-031-0/+1
|
* Added more TclOO introspection bytecodes ([info object class], [info object ↵dkf2012-11-021-0/+2
| | | | namespace]). Also moved TclOO-in-8.6 to using the main Tcl internal ensemble builder.
* Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-3/+3
| | | | though; it does not detect tailcall-of-self as a special case.
* Added compilation of [dict create] and [dict merge].dkf2012-11-011-6/+7
|
* Added [dict exists] compilation; implementation is 95% shared with [dict get].dkf2012-10-301-0/+1
|
* Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-4/+6
|
* Added compilation of simplest practical case of [string map].dkf2012-10-291-4/+6
|
* Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-4/+5
|
* Compile [namespace which -command]; big performance saving in some contexts.dkf2012-10-261-1/+3
|