summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.h
Commit message (Collapse)AuthorAgeFilesLines
* merge updates from HEADdgp2008-03-071-2/+2
|
* merge updates from HEADdgp2008-01-251-6/+3
|
* merge updates from HEADdgp2008-01-231-3/+3
|
* merge updates from HEADdgp2007-11-161-2/+8
|
* merge updates from HEADdgp2007-11-121-2/+6
|
* merge updates from HEADdgp2007-11-011-3/+1
|
* merge updates from HEADdgp2007-10-271-4/+4
|
* Merge updates from HEAD, thendgp2007-10-021-10/+11
| | | | | | | | | | | | | | | [core-stabilizer-branch] * README: Bump version number to 8.5.0 * generic/tcl.h: * library/init.tcl: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: * unix/configure: autoconf (2.59) * win/configure:
* merge updates from HEADdgp2007-09-141-1/+90
|
* merge updates from HEADdgp2007-09-091-2/+6
|
* merge updates from HEADdgp2007-09-041-9/+25
|
* merge updates from HEADdgp2007-06-211-2/+2
|
* merge updates from HEADdgp2007-06-151-4/+1
|
* merge updates from HEADdgp2007-06-121-3/+5
|
* merge updates from HEADdgp2007-05-301-2/+1
|
* * generic/tclBasic.c: Added bytecode compilers for theMiguel Sofer2007-04-031-4/+11
| | | | | | | | * generic/tclCompCmds.c: variable linking commands: 'global', * generic/tclCompile.h: 'variable', 'upvar', 'namespace upvar' * generic/tclExecute.c: [Patch 1688593] * generic/tclInt.h: * generic/tclVar.c:
* Added a scheme to allow aux-data to be printed out for debugging. For this ↵dkf2007-03-021-4/+31
| | | | | | to work, immediate operands referring to aux-data must be identified as such in the instruction descriptor table using OPERAND_AUX4 (all are always 4 bytes). Rewrote the compiled [dict update] so that it stores critical non-varying data in an aux-data value instead of a (shimmerable) literal. [Bug 1671001]
* More efficient issuing of INST_START_CMD instructions. See ChangeLog for ↵dkf2007-01-191-5/+14
| | | | discussion
* Cleanup to follow engineering manual guidelinesdkf2006-12-131-27/+29
|
* * generic/tclBasic.c: Final step routing all direct evaluation formsdgp2006-12-121-1/+7
| | | | | | * generic/tclCompExpr.c: of the operator commands through TEBC, * generic/tclCompile.h: dropping all the routines in tclMathOp.c. * generic/tclMathOp.c: Still needs Engineering Manual attention.
* * generic/tclBasic.c: Another step with all sorting operator commandsdgp2006-12-111-1/+4
| | | | | * generic/tclCompExpr.c: now routing through TEBC via * generic/tclCompile.h: TclSortingOpCmd().
* * generic/tclBasic.c: Another step down the path of re-usingdgp2006-12-081-1/+14
| | | | | | | | * generic/tclCompExpr.c: TclExecuteByteCode to implement the TIP 174 * generic/tclCompile.h: commands instead of using a mass of code * generic/tclMathOp.c: duplication. Now all operator commands that * tests/mathop.test: demand exactly one operation are implemented via TclSingleOpCmd and a call to TEBC.
* * generic/tclCompExpr.c: Revised implementation of TclInvertOpCmddgp2006-12-081-1/+3
| | | | | | | | | | * generic/tclMathOp.c: to perform a bytecode compile / execute sequence. This demonstrates a path toward avoiding mountains of code duplication in tclMathOp.c and tclExecute.c. * generic/tclCompile.h: Change TclExecuteByteCode() from static to * generic/tclExecute.c: MODULE_SCOPE so all files including tclCompile.h may call it.
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-2/+35
| | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclIOUtil.c: * generic/tclInt.h: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclProc.c: * tests/compile.test: * tests/info.test: * tests/platform.test: * tests/safe.test:
* New TEBC opcode, INST_JUMP_TABLE, for compiling the simple (and common) case ofdkf2005-11-301-3/+23
| | | | | [switch] into a jump-table. Much faster for long switches. Also compiler support for generating the new instruction where appropriate.
* Scrap _ANSI_ARGS_ macro use, yay!dkf2005-10-121-97/+92
|
* Compiler for [dict] and related changes.dkf2005-07-211-3/+20
|
* Oopsdkf2005-07-141-2/+2
|
* Style improvements to tclCompile.c, plus bytecode printing enhancements.dkf2005-07-141-1/+6
|
* Add compilation for TIP#90-style [catch] requiring a new opcode [Bug1219112]dkf2005-06-201-294/+285
|
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-59/+1
|
* * generic/tclCompile.h: Move the TclInterpReady() declaration fromdgp2005-03-251-3/+1
| | | | | | | | | | * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been done as part of the 1115904 bug fix on 2005-03-18. * generic/tclThreadTest.c: Stop providing the phony package "Thread 1.0" when the [::testthread] command is defined. It's never used by anything, and conflicts with loading the real "Thread" package.
* Avoid sharing cmdName literals accross namespaces, and generalise usage ofMiguel Sofer2004-12-241-5/+19
| | | | the TclRegisterNewLiteral macro [Patch 1090905]
* optimised loops that initialise a proc's arguments and compiled localMiguel Sofer2004-12-101-1/+9
| | | | variables, removing tests from inner loops.
* * generic/tclCompile.h: Removed extrainious reset ofdavygrvy2004-11-031-4/+1
| | | | TCL_STORAGE_CLASS missed in last edit.
* * generic/tclCompile.h: Exchanged use of the EXTERN macro to the new ↵davygrvy2004-11-031-71/+66
| | | | | | MODULE_SCOPE macro. Lowered exported internals count by 35.
* Core of implementation of TIP#201 ('in' and 'ni' operators)dkf2004-10-081-2/+5
|
* Report compilation errors at runtime, [Patch 103368] by dgp.Miguel Sofer2004-09-261-5/+5
|
* Moved declaration of TclCompEvalObj() from tclCompile.h to the internalMiguel Sofer2004-07-031-1/+5
| | | | stubs table, for compiler experimentation.
* * generic/tclCompile.h:Miguel Sofer2004-05-161-36/+27
| | | | | | | | | | | * generic/tclCompile.c: * generic/tclExecute.c: changed implementation of {expand}, last chance while in alpha as ... ***POTENTIAL INCOMPATIBILITY*** Scripts precompiled with ProComp under previous tcl8.5a versions may malfunction due to changed instruction numbers for INST_LIST_INDEX_IMM, INST_LIST_RANGE_IMM and INST_START_CMD.
* * generic/tclExecute.h:Miguel Sofer2004-05-141-2/+2
| | | | | | | * generic/tclCompile.h: the math functions receive a pointer to top of the stack (tosPtr) instead of the execution environment (eePtr). First step towards a change in the execution stack management - it is now only used within TEBC.
* * generic/tclCompile.h: removed redundant #ifdef _TCLINTMiguel Sofer2004-04-021-3/+1
| | | | [Bug 928415], reported by tauvan.
* * generic/tclCompile.c: New instruction code INST_START_CMDMiguel Sofer2004-03-301-2/+4
| | | | | | | | | * generic/tclCompile.h: that allows checking the bytecode's * generic/tclExecute.c: validity [Bug 729692] and the interp's * tests/interp.test (18.9): readyness [Bug 495830] before running * tests/proc.test (7.1): the command. It also changes the * tests/rename.test (6.1): mechanics of the async tests in TEBC, doing it now at command start instead of every 16 instructions.
* Whitespace minimisationdkf2004-01-201-76/+77
|
* Full bytecode compilation for [lassign]dkf2004-01-181-4/+20
|
* Patch 876451: restores performance of [return]. Also allows formsdgp2004-01-131-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | such as [return -code error $msg] to be bytecompiled. * generic/tclInt.h: Factored Tcl_ReturnObjCmd() into two pieces: * generic/tclCmdMZ.c: TclMergeReturnOptions(), which can parse the options to [return], check their validity, and create the corresponding return options dictionary, and TclProcessReturn(), which takes that return options dictionary and performs the [return] operation. * generic/tclCompCmds.c: Rewrote TclCompileReturnCmd() to call TclMergeReturnOptions() at compile time so the return options dictionary is computed at compile time (when it is fully known). The dictionary is pushed on the stack along with the result, and the code and level values are included in the bytecode as operands. Also supports optimized compilation of un-[catch]ed [return]s from procs with default options into the INST_DONE instruction. * generic/tclExecute.c: Rewrote INST_RETURN instruction to retrieve the code and level operands, pop the return options from the stack, and call TclProcessReturn() to perform the [return] operation. * generic/tclCompile.h: New utilities include TclEmitInt4 macro * generic/tclCompile.c: and TclWordKnownAtCompileTime().
* * doc/ParseCmd.3: Implementation of TIP 157. Adds recognitiondgp2003-11-141-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/Tcl.n: of the new leading {expand} syntax on words. * generic/tcl.h: Parses such words as the new Tcl_Token type * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx * generic/tclCompile.c: and the bytecode compiler/execution engine * generic/tclCompile.h: to recognize the new token type. New opcodes * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs * generic/tclTest.c: and tests are included. * tests/basic.test: * tests/compile.test: * tests/parse.test: * library/auto.tcl: Replaced several [eval]s used to perform * library/package.tcl: argument expansion with the new syntax. * library/safe.tcl: In the test files lindex.test and lset.test, * tests/cmdInfo.test: replaced use of [eval] to force direct * tests/encoding.test: string evaluation with use of [testevalex] * tests/execute.test: which more directly and robustly serves the * tests/fCmd.test: same purpose. * tests/http.test: * tests/init.test: * tests/interp.test: * tests/io.test: * tests/ioUtil.test: * tests/iogt.test: * tests/lindex.test: * tests/lset.test: * tests/namespace-old.test: * tests/namespace.test: * tests/pkg.test: * tests/pkgMkIndex.test: * tests/proc.test: * tests/reg.test: * tests/trace.test: * tests/upvar.test: * tests/winConsole.test: * tests/winFCmd.test:
* Oops! Last checkin had wrong value for LAST_INST_OPCODE. D'oh!dkf2003-09-151-2/+2
|
* TIP#123 Implementation based on work by Arjen Markus. [Patch 655176]dkf2003-09-121-1/+3
|
* * generic/tclCompCmds.c (TclCompileReturnCmd): Alternative fix fordgp2003-03-191-2/+4
| | | | | | | * generic/tclCompile.c (INST_RETURN): [Bug 633204] that uses a new * generic/tclCompile.h (INST_RETURN): bytecode INST_RETURN to * generic/tclExecute.c (INST_RETURN): properly bytecode the [return] command to something that returns TCL_RETURN.