summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
Commit message (Collapse)AuthorAgeFilesLines
* make the printing of source much less inclined to be fazed by non-ASCII charsdkf2014-02-041-4/+22
|
* improve the disassemblydkf_bytecode_8_6_string_isdkf2014-02-021-1/+6
|
* Compile [string is] with character classes in a non-awful way. Needs more ↵dkf2014-01-291-0/+5
| | | | work to make resulting bytecode disassemble nicely.
* merge principal development branchdkf2014-01-251-2/+19
|\
| * implementation of [yieldto] in bytecodedkf2014-01-211-0/+7
| |
| * added compilation for [nextto]dkf2014-01-191-2/+12
| |
* | extend [string is] to booleansdkf2014-01-131-0/+3
| |
* | a different approachdkf2014-01-101-0/+4
|/
* merge main working branchdkf2013-12-301-565/+1201
|\
| * implement [namespace origin] in bytecodedkf2013-12-301-0/+5
| |
| * allow generation by assemblerdkf2013-12-301-4/+4
| |
| * completed instruction implementationdkf2013-12-281-0/+4
| |
| * merge trunkdkf2013-12-231-10/+28
| |\
| | * Added new tools for managing and verifying the stack depth during ↵mig2013-12-231-9/+25
| | | | | | | | | | | | compilation. Used it in some spots in the compiler and in TclCompileCatchCommand.
| | * Making the optimizer pluggable by extensions; please review for committing ↵mig_tmp_optimizemig2013-12-181-1/+3
| | | | | | | | | | | | to trunk
| * | merge trunk; document added instructionsdkf2013-12-121-11/+28
| |\ \ | | |/
| * | merge trunkdkf2013-12-121-0/+1
| |\ \ | | |/
| | * fix stack computations for lmapmig2013-12-101-1/+1
| | |
| | * new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp varmig2013-12-101-0/+1
| | |
| * | merge trunkdkf2013-12-061-0/+10
| |\ \ | | |/
| | * New compiler and bytecodes for foreach and lmap: 70% faster mig2013-12-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | * silence compiler warningdgp2013-10-231-1/+0
| | |
| * | Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-0/+13
| | | | | | | | | | | | the no-indices case; that's the only case anyone actually commonly uses.
| * | General [concat] compilation.dkf2013-10-261-1/+5
| | |
| * | Change name of instruction to make way for future changes.dkf2013-10-261-5/+5
| | |
| * | merge fixes from trunkdkf2013-10-221-75/+63
| |\ \ | | |/
| | * Fix problems in for.testdkf2013-10-221-74/+62
| | |
| | * silence compiler warningsdgp2013-10-211-1/+1
| | |
| * | merge trunkdkf2013-10-201-6/+196
| |\ \ | | |/
| | * Fix handling of 'invokeExpanded' and start to do 'returnStk'.dkf2013-10-191-7/+20
| | |
| | * Added missing exception range finalize.dkf2013-10-191-0/+1
| | |
| | * Tackle evalStk by reusing existing machinery.dkf2013-10-181-1/+5
| | |
| | * Do jump generation at places where INST_RETURN_IMM might occur.dkf2013-10-151-5/+1
| | |
| | * update commentsdkf2013-10-131-0/+21
| | |
| | * Stop crashing in interactive testing. (The unknown and history mechanisms tenddkf2013-10-131-19/+30
| | | | | | | | | to exercise some parts of the bytecode compiler very well.)
| | * Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-3/+147
| | | | | | | | | | | | exceptions.
| * | cleaner and faster 'string trim'dkf2013-10-031-0/+5
| | |
| * | First attempt at [string trim] compilation.dkf2013-09-301-0/+11
| |/
| * Fix test source-4.1dgp2013-09-271-1/+5
| |
| * Remove Tcl_Preserve support for ContLineLoc values. It's not needed.dgp2013-08-071-17/+2
| | | | | | This allows the clLoc field of CompileEnv struct to go away too.
| * The value TCL_LOCATION_EVAL_LIST in the type field of a CmdFrame appears todgp2013-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | exist only for the sake of taking great pains to make sure that pure list values remain pure list values. The value of pure list values is no longer what it once was. For a long long time now, any canonical list values have been equally good. This branch is Work In Progress eliminating the complication of the additional type value. Currently some minor botches are breaking execution tracing tests.
| * Simplify AuxData access with a macro.dgp2013-07-271-0/+1
| |
| * Remove outdated, disabled code.dgp2013-07-231-503/+0
| |
| * merge trunkdgp2013-07-181-5/+1
| |\
| | * [Bug 1c17fbba5d] Fix -errorinfo from syntax errors so that the error isdgp2013-07-181-4/+1
| | | | | | | | | not obscured. Instead highlight it by making it the last character quoted.
| * | Factor out the call to a compileProc into one place used by both ensembledgp2013-07-171-34/+14
| | | | | | | | | subcommand compiles and toplevel command compiles in TclCompileScript.
| * | Streamline the housekeeping on the operands of INST_START_CMD.dgp2013-07-161-49/+32
| | | | | | | | | For example, do only incr on success, not incr on attempt + decr on error.
| * | Simplify the ensemble subcommand compile. There's no need to bedgp2013-07-161-1/+0
| | | | | | | | | crafting synthetic Tcl_Parse and copying tokens. Some pointer shifts will do.
| * | Simplify arguments to TclContinuationsEnterDerived().dgp2013-07-161-4/+2
| | |
| * | Eliminate the litInfo table and all the code tending to its care and feeding.dgp2013-07-161-43/+0
| | | | | | | | | | | | The pc -> command index mapping function it provided can be achieved using other data already in the ByteCode struct.