summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.h
Commit message (Collapse)AuthorAgeFilesLines
* Backing out commit [cddbfc3081], fix for bug [82521bfb6734f891dd]msofer2014-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. FossilOrigin-Name: 956d1be41ba7e5229efdbe931b8f92945cb11b26
* merge trunkkbk2014-08-021-1/+6
|\ | | | | FossilOrigin-Name: 63ed148e71fc4b7c865c904cb51b8e2a4cbbd3b6
| * [b43f2b49f7] New compilation strategy for lappend that allows multi-valuedkf2014-07-181-1/+6
| | | | | | | | | | lappend to not have quadratic performance (through better reference management). FossilOrigin-Name: 17150b71d2419a4db61140f860b58f7564be8ec9
* | merge trunkdkf2014-02-031-2/+44
|\ \ | |/ | | FossilOrigin-Name: 6e467f54caf269dd191b65665993735840e3a92f
| * improve the disassemblydkf2014-02-021-1/+2
| | | | | | FossilOrigin-Name: d1f2d16fd2953ee962724983848a8ede516377b4
| * 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. FossilOrigin-Name: 587d82b78a254aa477ef6d92ab7a62ab967012bf
| * merge principal development branchdkf2014-01-251-3/+6
| |\ | | | | | | FossilOrigin-Name: 51b5fe9afef1e4ab0dbf9f7b15f772cb811d16ae
| | * implementation of [yieldto] in bytecodedkf2014-01-211-1/+3
| | | | | | | | | FossilOrigin-Name: ef8db24f850e7d8c4585775b0ee1fc9ab2d86ae1
| | * added compilation for [nextto]dkf2014-01-191-1/+2
| | | | | | | | | FossilOrigin-Name: 6f3de2ee148e1567a2bd2a1c87727a70fd6750b3
| * | extend [string is] to booleansdkf2014-01-131-1/+2
| | | | | | | | | FossilOrigin-Name: 40137773858bf19b7100ce14aa9dc46d6904f4f7
| * | a different approachdkf2014-01-101-1/+3
| |/ | | | | FossilOrigin-Name: 85c888f3e730cefa9bb786ffb54f21d3cbdc3826
* | merge trunkdkf2014-01-091-7/+58
|\ \ | |/ | | FossilOrigin-Name: cd045e6a26d65bfd6af289d2ffb5f5696e255af0
| * merge main working branchdkf2013-12-301-38/+260
| |\ | | | | | | FossilOrigin-Name: 1eae2c7592539c329e714909f4ca52536c7bc709
| | * implement [namespace origin] in bytecodedkf2013-12-301-1/+3
| | | | | | | | | FossilOrigin-Name: 1572fe02bd24fb75aba6534cfa5270559fc64266
| | * added instructiondkf2013-12-281-1/+2
| | | | | | | | | FossilOrigin-Name: 4baf63487aefdd932f3af539fa3fd809f3fd1187
| | * merge trunkdkf2013-12-231-3/+28
| | |\ | | | | | | | | FossilOrigin-Name: 9dfb1c05dd807950c20b8a6fa685c06a5d7f9612
| | | * 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. FossilOrigin-Name: c91b235146f0956b8f38e98acc266433ea4211cc
| | | * remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-201-0/+12
| | | | | | | | | | | | | | | | | | | | from mig-optimize) FossilOrigin-Name: cddbfc30812bb55ece7bc4422b80b01cb8b879f8
| | | * Add TclRegisterLiteral() to internal stub table (from "mig-optimize" branch, ↵jan.nijtmans2013-12-191-2/+0
| | | | | | | | | | | | | | | | | | | | looks like a good idea anyway) FossilOrigin-Name: e6528e54af023f5485bf3c8e0da1f8e1b6521f55
| | | * Making the optimizer pluggable by extensions; please review for committing ↵mig2013-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | to trunk FossilOrigin-Name: 66649275ed3cd4587e7d2f05b8f036abf49057d4
| | * | merge trunkdkf2013-12-121-8/+9
| | |\ \ | | | |/ | | | | FossilOrigin-Name: 7bab51b334863dfcb7be4752b9ca2ff34dea2418
| | | * new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp varmig2013-12-101-1/+2
| | | | | | | | | | | | FossilOrigin-Name: 58ebb297000cbc64a593e1950fdfc5738f8446b2
| | * | merge trunkdkf2013-12-061-10/+16
| | |\ \ | | | |/ | | | | FossilOrigin-Name: 1ab40a5c8fd58385acdc1c1ab455c096242ed5e5
| | | * Stop printing undefined values in disassembled code.dkf2013-12-061-0/+1
| | | | | | | | | | | | FossilOrigin-Name: ccaa2e5f905687cdcac955002e2a7b4d69f267a8
| | | * New compiler and bytecodes for foreach and lmap: 70% fastermig2013-12-051-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * speed as measured by http://wiki.tcl.tk/39021: runs in <1/3 the time 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 old .tbc files to be recompiled, or an adaptation of tbcload to rwrite all foreachs FossilOrigin-Name: 3782af5f5ae58a128d65e6234b256f6358ea6ecf
| | * | 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. FossilOrigin-Name: 993ffd19930e40461b2332e7e102df509a18af89
| | * | General [concat] compilation.dkf2013-10-261-1/+3
| | | | | | | | | | | | FossilOrigin-Name: 280e05bb113af775c12c59058d72b99634a7bee2
| | * | Change name of instruction to make way for future changes.dkf2013-10-261-1/+1
| | | | | | | | | | | | FossilOrigin-Name: 5c6f835158754ec7b5d206e2f79611957bd48721
| | * | merge trunkdkf2013-10-201-0/+1
| | |\ \ | | | |/ | | | | FossilOrigin-Name: cddba18029d7040dfebe52f1ce9ce01d07febd7f
| | | * Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-0/+1
| | | | | | | | | | | | | | | | | | | | exceptions. FossilOrigin-Name: e4d6e9291b9a209e414b573df025680db9b341dd
| | * | cleaner and faster 'string trim'dkf2013-10-031-3/+4
| | | | | | | | | | | | FossilOrigin-Name: 0d32a0f39f0684956991d8d67624b4138a9931f8
| | * | First attempt at [string trim] compilation.dkf2013-09-301-1/+5
| | |/ | | | | | | FossilOrigin-Name: 62a0ec46d839c6243b0d90d75bdc87edc5fca41f
| * | merge main dev branchdkf2013-01-031-0/+2
| |\ \ | | | | | | | | FossilOrigin-Name: b7fcd3c212fccfd56a73e38d5b49f4c02ed9de78
| * \ \ merge main dev branchdkf2012-11-051-13/+22
| |\ \ \ | | | | | | | | | | FossilOrigin-Name: bd2cb80131665046623698e7e5aeadc7ef6a8397
| * | | | reorder to preserve main BC development branch sequence betterdkf2012-11-021-3/+3
| | | | | | | | | | | | | | | FossilOrigin-Name: ef6191e5a7353c07da114caf50b36bd3c796411c
| * | | | merge dkf-compile-misc-infodkf2012-11-021-1/+3
| |\ \ \ \ | | | | | | | | | | | | FossilOrigin-Name: f0a7031a74a871ce6ad8ea726bbc903efb0c5d08
| * | | | | 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!) FossilOrigin-Name: 63445628683db9fd9dcf082ab2fc601ab7f0ec42
* | | | | | merge trunkdkf2013-08-221-28/+28
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | FossilOrigin-Name: 6818b3c99cdd562d99d6ebb340b0a9ddc42089c2
| * | | | | 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. FossilOrigin-Name: 08cfa769ecc7eb2f92519229ce5eb36d96fc479b
| * | | | | Simplify AuxData access with a macro.dgp2013-07-271-0/+9
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: 3f7279e103011d081dfecf7559aa7ea763070a17
| * | | | | 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. FossilOrigin-Name: 2c30f7e0294560e62a297c31147dc51179383dcf
| * | | | | 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. FossilOrigin-Name: 495adbf6e753027c8d24a493f7c80ac467cb73b6
| * | | | | Build CompileBasicNArgCommand on top of TclCompileInvocation.dgp2013-07-151-0/+3
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: eefc49c5e08f44a4c6c8eb623fa4a3d89d2e92a0
| * | | | | merge trunkdgp2013-07-151-17/+13
| |\ \ \ \ \ | | | | | | | | | | | | | | FossilOrigin-Name: 303b956143f42944d15715dd97e9c841c0311e2e
| | * | | | | Global replace: CompileBody() -> BODY().dgp2013-07-121-7/+7
| | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 8338d07129e181ea7b994a92c3eb5b4e77cc46f6
| | * | | | | Revise the CompileWord() and PushVarNameWord() macros to make explicit thedgp2013-07-111-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SetLineInformation() that's in each of them. FossilOrigin-Name: 7306344a31af8da29793ad13f34fc42a4b79153e
| * | | | | | 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. FossilOrigin-Name: cd1f5a64d440286d0db02c1fd9558556925a69a1
* | | | | | Properly encode more operand types to reduce the number of special cases in ↵dkf2013-06-201-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the disassembler. FossilOrigin-Name: 9d361e7c7456b689e0a2129787acf0587595cbd5
* | | | | | Improved rendering of some opcode arguments and auxdata.dkf2013-06-131-0/+10
| | | | | | | | | | | | | | | | | | FossilOrigin-Name: ff4c6d947f117ebe96e04c82acef2029f4623cb0
* | | | | | Move the disassembler to its own file.dkf2013-06-111-4/+14
|/ / / / / | | | | | | | | | | FossilOrigin-Name: d5d42f1b36f41651db321973871e44608217fdc2