summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.h
Commit message (Collapse)AuthorAgeFilesLines
* improve the disassemblydkf_bytecode_8_6_string_isdkf2014-02-021-1/+2
|
* Compile [string is] with character classes in a non-awful way. Needs more ↵dkf2014-01-291-1/+36
| | | | work to make resulting bytecode disassemble nicely.
* merge principal development branchdkf2014-01-251-3/+6
|\
| * implementation of [yieldto] in bytecodedkf2014-01-211-1/+3
| |
| * added compilation for [nextto]dkf2014-01-191-1/+2
| |
* | extend [string is] to booleansdkf2014-01-131-1/+2
| |
* | a different approachdkf2014-01-101-1/+3
|/
* merge main working branchdkf2013-12-301-38/+260
|\
| * implement [namespace origin] in bytecodedkf2013-12-301-1/+3
| |
| * completed instruction implementationdkf2013-12-281-1/+2
| |
| * merge trunkdkf2013-12-231-3/+28
| |\
| | * Added new tools for managing and verifying the stack depth during ↵mig2013-12-231-0/+15
| | | | | | | | | | | | compilation. Used it in some spots in the compiler and in TclCompileCatchCommand.
| | * remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-201-0/+12
| | | | | | | | | | | | from mig-optimize)
| | * Add TclRegisterLiteral() to internal stub table (from "mig-optimize" branch, ↵jan.nijtmans2013-12-191-2/+0
| | | | | | | | | | | | looks like a good idea anyway)
| | * Making the optimizer pluggable by extensions; please review for committing ↵mig_tmp_optimizemig2013-12-181-1/+1
| | | | | | | | | | | | to trunk
| * | merge trunkdkf2013-12-121-8/+9
| |\ \ | | |/
| | * new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp varmig2013-12-101-1/+2
| | |
| * | merge trunkdkf2013-12-061-10/+16
| |\ \ | | |/
| | * Stop printing undefined values in disassembled code.dkf2013-12-061-0/+1
| | |
| | * New compiler and bytecodes for foreach and lmap: 70% faster mig2013-12-051-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | Now do [string toupper], [string tolower] and [string totitle]. Only handles ↵dkf2013-10-291-4/+8
| | | | | | | | | | | | the no-indices case; that's the only case anyone actually commonly uses.
| * | General [concat] compilation.dkf2013-10-261-1/+3
| | |
| * | Change name of instruction to make way for future changes.dkf2013-10-261-1/+1
| | |
| * | merge trunkdkf2013-10-201-0/+1
| |\ \ | | |/
| | * 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-3/+4
| | |
| * | First attempt at [string trim] compilation.dkf2013-09-301-1/+5
| |/
| * Remove Tcl_Preserve support for ContLineLoc values. It's not needed.dgp2013-08-071-4/+0
| | | | | | This allows the clLoc field of CompileEnv struct to go away too.
| * Simplify AuxData access with a macro.dgp2013-07-271-0/+9
| |
| * Factor out the call to a compileProc into one place used by both ensembledgp2013-07-171-0/+3
| | | | | | subcommand compiles and toplevel command compiles in TclCompileScript.
| * Eliminate the litInfo table and all the code tending to its care and feeding.dgp2013-07-161-8/+0
| | | | | | | | The pc -> command index mapping function it provided can be achieved using other data already in the ByteCode struct.
| * Build CompileBasicNArgCommand on top of TclCompileInvocation.dgp2013-07-151-0/+3
| |
| * merge trunkdgp2013-07-151-17/+13
| |\
| | * Global replace: CompileBody() -> BODY().dgp2013-07-121-7/+7
| | |
| | * Revise the CompileWord() and PushVarNameWord() macros to make explicit thedgp2013-07-111-10/+6
| | | | | | | | | SetLineInformation() that's in each of them.
| * | Revise the litInfo table so that it gets built later (in TclInitByteCodeObj)dgp2013-07-101-0/+1
| |/ | | | | from a simpler store of data that can unwind.
| * Factor out stereotypical ways of getting variable indices.dkf2013-06-081-0/+14
| |
| * Minor grammar fix.dkf2013-06-061-3/+3
| |
| * More cleaning up; factor out optimizer to new file. Some weird problems still.dkf2013-06-051-0/+1
| |
| * Stack cleanup works now even in the most evil expansion cases.dkf2013-06-051-0/+7
| |
| * Next stage of fixing the break/continue generation.dkf2013-06-031-1/+3
| |
| * Generate [continue] optimally in [for] next clauses. Add tests for Bug 3614226.dkf2013-06-031-1/+12
| |
| * Remove useless macro, use existing macro where it makes sense.dkf2013-06-021-3/+0
| |
| * Many improvements to code generation of efficient break and continue.dkf2013-06-021-6/+46
| |
| * Getting better at doing more efficient break/continue instruction handling.dkf2013-06-011-0/+6
| |
| * Working towards the next batch of optimizations.dkf2013-05-301-0/+6
| |
| * 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.
| * Spare developers the burden and error risk of counting bytes in stringdgp2013-05-231-2/+6
| | | | | | literals, or having to type them twice.
| * Eliminate code duplication.dgp2013-05-231-0/+65
| |
| * A better technique for [list {*}blah]. Remove the INST_LIST_EXPANDED opcode ↵dkf2013-05-151-2/+1
| | | | | | | | (and the complex machinery associated with it) as as it is no longer needed.