summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.h
Commit message (Collapse)AuthorAgeFilesLines
* make some MODULE_SCOPE symbols staticjan.nijtmans2015-12-151-11/+0
|
* Eliminate AuxDataType table: since this table only contains 4 constant ↵jan.nijtmans2015-12-151-2/+0
| | | | entries, it is overkill to use a hash table for that.
* Member field which should not have been const, because it is dynamically ↵jan.nijtmans2015-06-231-3/+3
|\ | | | | | | allocated. Some end-of-line spacing in header files.
* | Convert the LocalScalar*() macros to rest on TclPushVarName rather than ondgp2014-12-221-4/+6
| | | | | | TclIsLocalScalar().
* | Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]Miguel Sofer2014-09-271-12/+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 trunkKevin B Kenny2014-08-021-1/+6
|\ \
| * | [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-181-1/+6
| | | | | | | | | lappend to not have quadratic performance (through better reference management).
* | | merge trunkdkf2014-02-031-2/+44
|\ \ \ | |/ /
| * | 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 trunkdkf2014-01-091-7/+58
|\ \ \ | |/ /
| * | 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
| | |/ /
| * | | 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.