summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.h
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | merge main dev branchdkf2013-01-031-0/+2
| |\ \ \
| * \ \ \ merge main dev branchdkf2012-11-051-13/+22
| |\ \ \ \
| * | | | | reorder to preserve main BC development branch sequence betterdkf2012-11-021-3/+3
| | | | | |
| * | | | | merge dkf-compile-misc-infodkf2012-11-021-1/+3
| |\ \ \ \ \
| * | | | | | Working towards a BCCed [next].dkf2012-11-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This version <i>almost</i> works, except for a problem with restoring the context namespace upon return (which produces very strange results!)
* | | | | | | merge trunkdkf2013-08-221-28/+28
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | 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.
* | | | | | | Properly encode more operand types to reduce the number of special cases in ↵dkf2013-06-201-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the disassembler.
* | | | | | | Improved rendering of some opcode arguments and auxdata.dkf2013-06-131-0/+10
| | | | | | |
* | | | | | | Move the disassembler to its own file.dkf2013-06-111-4/+14
|/ / / / / /
* | | | | | 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.
* | | | | | Optimizations and general bytecode generation improvements.dkf2013-05-101-5/+31
| | | | | |
* | | | | | New internal routine TclFetchLiteral() for better CompileEnv encapsulation.dgp2013-03-051-0/+1
| | | | | |
* | | | | | Remove from tclCompile.h declarations used in only one source file.dgp2013-03-051-3/+0
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Remove from tclCompile.h declarations used in only one source file.dgp2013-03-051-3/+0
| | | | | |
* | | | | | Remove TclInitCompilation() declaration with no definition.dgp2013-03-051-1/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | / | |_|_|_|/ |/| | | |
| * | | | Remove TclInitCompilation() declaration with no definition.dgp2013-03-051-1/+0
| |\ \ \ \
| | * | | | Remove TclInitCompilation() declaration that's never had a definitiondgp2013-03-051-1/+0
| | | | | | | | | | | | | | | | | | (14 years!).
* | | | | | Working towards more efficient treatment of non-bytecoded ensemble subcommands.dkf2012-12-311-1/+3
| |_|_|_|/ |/| | | |
* | | | | Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-1/+7
| | | | | | | | | | | | | | | | | | | | 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-13/+15
| | | | | | | | | | | | | | | | | | | | 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-1/+2
| |_|_|/ |/| | |
* | | | Added more TclOO introspection bytecodes ([info object class], [info object ↵dkf2012-11-021-1/+3
| |_|/ |/| | | | | | | | 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-7/+8
| | | | | | | | | | | | though; it does not detect tailcall-of-self as a special case.
* | | Added compilation of [dict create] and [dict merge].dkf2012-11-011-12/+13
| | |
* | | Added [dict exists] compilation; implementation is 95% shared with [dict get].dkf2012-10-301-12/+13
| | |
* | | Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-8/+10
| | |
* | | Added compilation of simplest practical case of [string map].dkf2012-10-291-8/+11
| | |
* | | Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-7/+10
| | |