summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmds.c
Commit message (Collapse)AuthorAgeFilesLines
* test and fix (thx dgp)bug_0c043a175Miguel Sofer2014-12-031-1/+1
|
* Possible fix for testing.dgp2014-10-021-3/+5
|
* Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]Miguel Sofer2014-09-271-1/+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.
* merge trunkdkf2014-01-091-273/+314
|\
| * merge trunkdkf2014-01-051-2/+2
| |\
| | * fix arraySet compiler to set -errorcode instead of -errorCode in return optionsmig2014-01-051-2/+2
| | |
| * | put the other definition of a trim set in the header file toodkf2013-12-301-7/+0
| | |
| * | merge trunkdkf2013-12-231-13/+19
| |\ \ | | |/
| | * Added new tools for managing and verifying the stack depth during ↵mig2013-12-231-2/+8
| | | | | | | | | | | | compilation. Used it in some spots in the compiler and in TclCompileCatchCommand.
| | * remove unnecessary messing around INST_CONTINUE and INST_BREAK: local ↵mig2013-12-221-10/+4
| | | | | | | | | | | | continue/break are already converted to jumps, so that these are either caught or returned - in either case, the stacks are cleaned up properly by TEBC itself.
| | * remove duplicate statement in previous commitmig2013-12-221-1/+0
| | |
| | * fix stack counting bug in new catch compiler, commit 62a51cdb45.mig2013-12-221-2/+8
| | |
| | * remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-201-0/+1
| | | | | | | | | | | | from mig-optimize)
| * | merge trunk; document added instructionsdkf2013-12-121-73/+18
| |\ \ | | |/
| | * commentsmig2013-12-111-7/+4
| | |
| | * commentsmig2013-12-111-5/+2
| | |
| | * commentsmig2013-12-111-1/+7
| | |
| | * new test, and fix for bugmig2013-12-111-6/+9
| | |
| | * simplify: remove the special casemig2013-12-111-21/+4
| | |
| | * store options early: simplify compiler, reduce stack manipulationsmig2013-12-111-26/+6
| | |
| | * simplifying: drop early the evaled scriptmig2013-12-111-29/+8
| | |
| * | merge trunkdkf2013-12-121-28/+14
| |\ \ | | |/
| | * new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp varmig2013-12-101-28/+14
| | |
| * | merge trunkdkf2013-12-061-157/+105
| |\ \ | | |/
| | * Stop printing undefined values in disassembled code.dkf2013-12-061-1/+41
| | |
| | * adapted the array-set compiler to use the new foreach opcodesmig2013-12-061-52/+31
| | |
| | * tighter mem management in array-set compilermig2013-12-061-2/+2
| | |
| | * tighter mem managementmig2013-12-061-4/+2
| | |
| | * add comments on field "misuse"mig2013-12-051-1/+1
| | |
| | * New compiler and bytecodes for foreach and lmap: 70% faster mig2013-12-051-100/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | * speed as measured by http://wiki.tcl.tk/39021: runs in <1/3 the time * still need to adapt array-set to use this * assemble.test-16.5 or 16.6 bombs in a purify/symbols build (?) * removing the old opcodes would force recompilation of old .tbc files or adaptation of tbcload
| * | General [concat] compilation.dkf2013-10-261-2/+10
| | |
| * | Change name of instruction to make way for future changes.dkf2013-10-261-2/+2
| | |
| * | First step in compiling [concat]: the trivial cases.dkf2013-10-241-0/+86
| |/
| * And the last bits that need fixing; the code is still less efficient than ↵dkf_loop_exception_range_workdkf2013-10-201-2/+2
| | | | | | | | desired but should now not crash.
| * Improve coverage of [error] compilation.dkf2013-10-191-7/+36
| |
| * Tackle evalStk by reusing existing machinery.dkf2013-10-181-1/+1
| |
| * Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-2/+2
| | | | | | | | exceptions.
* | merge trunkdkf2013-09-201-28/+21
|\ \ | |/
| * Line numbers wrong in compiled [dict with].dgp2013-09-191-5/+5
| |
| * Line numbers wrong in compiled [dict exists].dgp2013-09-191-4/+3
| |
| * Line numbers wrong in compiled [dict update].dgp2013-09-191-1/+1
| |\
| | * Line numbers wrong in compiled [dict update].dgp2013-09-191-1/+1
| | |
| * | Line numbers wrong in compiled [dict for].dgp2013-09-191-1/+1
| |\ \ | | |/
| | * Line numbers wrong in compiled [dict for].dgp2013-09-191-1/+1
| | |
| * | Line numbers wrong in compiled [dict get].dgp2013-09-191-4/+3
| |\ \ | | |/
| | * Line numbers wrong in compiled [dict get].dgp2013-09-191-4/+3
| | |
| * | Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler.dgp2013-09-191-1/+1
| |\ \ | | |/
| | * Stop segfault due to OBOE in CompileWord() calls in [dict incr] compiler.dgp2013-09-191-1/+1
| | |
| * | Line numbers wrong in compiled [dict set].dgp2013-09-191-4/+3
| |\ \ | | |/
| | * Line numbers wrong in compiled [dict set].dgp2013-09-191-5/+3
| | |