summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmds.c
Commit message (Collapse)AuthorAgeFilesLines
* Added a scheme to allow aux-data to be printed out for debugging. For this ↵dkf2007-03-021-25/+189
| | | | | | 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]
* Fix [Bug 1671138]dkf2007-03-011-1/+14
|
* A few more very minor changesdkf2007-02-271-20/+11
|
* Assorted cleanup, mostly of comments.dkf2007-02-271-195/+227
|
* Fix [lindex] argument ordering. [bug 1631364]dkf2007-01-091-9/+13
|
* * generic/tclCompCmds.c: Additional commits correct mostdgp2006-12-071-1/+14
| | | | | * generic/tclExecute.c: failing tests illustrating bugs uncovered * generic/tclMathOp.c: in [Path 1578137].
* More #174 bits and piecesdkf2006-12-071-410/+257
|
* More TIP 174 compilation bug fixes, consolidations, and improvements.dgp2006-12-061-93/+77
|
* * generic/tclCompCmds.c: Revised and consolidated into utilitydgp2006-12-061-113/+105
| | | | | * tests/mathop.c: routines some of routines that compile the new TIP 174 commands. This corrects some known bugs. More to come.
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-102/+260
| | | | | | | | | | | | | | | | | | | | | * 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:
* Finished coding part of TIP#174. Still have tests and docs to do.dkf2006-11-251-1392/+24
|
* Added some more implementationsdkf2006-11-241-3/+274
|
* Supply missing #ifdefdgp2006-11-241-1/+3
|
* Added Mod implementationdkf2006-11-231-2/+209
|
* Added implementations of the interpreted comparison operatorsdkf2006-11-231-15/+561
|
* Added some interpreted operator implementationsdkf2006-11-231-7/+61
|
* *Partial* implementation of TIP#174. Still needs non-compiled versions of mostdkf2006-11-231-1/+962
| | | | operators, plus docs and tests.
* Minor simplification of memcpy usagedkf2006-11-081-51/+91
|
* Various minor object file size efficiency fixes. [Bug 1530474]dkf2006-08-101-2/+2
|
* Fix [Bug 1382528]; thanks to Anton Kovalenko for finding this.dkf2005-12-181-13/+16
|
* New TEBC opcode, INST_JUMP_TABLE, for compiling the simple (and common) case ofdkf2005-11-301-1/+237
| | | | | [switch] into a jump-table. Much faster for long switches. Also compiler support for generating the new instruction where appropriate.
* ANSIfy; generic/*.c now all done except for test codedkf2005-11-021-168/+178
|
* * generic/tclClock.c: Removed some dead code.dgp2005-10-191-42/+9
| | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompCmds.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclLiteral.c: * generic/tclParseExpr.c: * generic/tclScan.c: * generic/tclUtil.c: * generic/tclVar.c:
* * generic/tclCompCmds.c: New convenience macro CompileTokens().Miguel Sofer2005-10-101-16/+20
|
* TIP#237 IMPLEMENTATIONdgp2005-10-081-4/+12
| | | | | | [kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code.
* Compiler for [dict] and related changes.dkf2005-07-211-54/+588
|
* copy/paste/fail-to-modify error in comment.dgp2005-07-131-2/+2
|
* typosdkf2005-06-201-2/+2
|
* Add compilation for TIP#90-style [catch] requiring a new opcode [Bug1219112]dkf2005-06-201-27/+71
|
* Update error case handling following Mo's updates (which are a good thing)dkf2005-06-201-17/+22
|
* D'oh!dkf2005-06-121-2/+2
|
* Simplify command compilation by moving numerous common stanzas into macros ↵dkf2005-06-121-863/+887
| | | | | | so that things say what they do instead of relying on the code-writer knowing all the basic ropes. Also cleaned up the whitespace/style of the code
* Implementation of TIP#241 from Joe Mistachkindkf2005-06-011-31/+45
| | | | Also compilation of [switch -glob -nocase] from Donal Fellows
* Increase efficiency of [lindex] compilationdkf2005-06-011-3/+32
|
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
|
* * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro.dgp2005-05-051-10/+5
| | | | | | | | | | | | | | * generic/tclInt.h: * generic/tclUtil.c: * generic/tclIntDecls.h: `make genstubs` * generic/tclStubInit.c: * generic/tclBasic.c: Added callers of TclMatchIsTrivial where * generic/tclCmdIL.c: a search can be done more efficiently * generic/tclCompCmds.c:when it is recognized that a pattern match * generic/tclDictObj.c: is really an exact match. [Patch 1076088] * generic/tclIO.c: * generic/tclNamesp.c: * generic/tclVar.c:
* * generic/tclCompCmds.c: Factored common efficiency trick intodgp2005-05-051-91/+32
| | | | a macro named CompileWord.
* * generic/tclCompCmds.c: Replaced all instance ofdgp2005-05-051-90/+90
| | | | | | | | * generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR. * generic/tclInt.h: Now that we've eradicated the mistaken * tests/appendComp.test: notion of a "compile-time error", we can use the TCL_ERROR return code to signal any failure to produce bytecode.
* The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bringdgp2005-04-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | it into agreement with its docs. Further investigation reveals it was the docs that were incorrect. * doc/BoolObj.3: Corrections to the documentation of Tcl_GetBooleanFromObj to bring it into agreement with what this public interface has always done, including noting the difference in function between Tcl_GetBooleanFromObj and Tcl_GetBoolean. * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a wrapper around Tcl_GetBooleanFromObj (different function!). * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that was added yesterday. Revisions so that only Tcl_GetBoolean-approved values get the "boolean" Tcl_ObjType. This retains the fix for [Bug 1187123]. * generic/tclInt.h: Revert most recent change. * generic/tclBasic.c: * generic/tclCompCmds.c: * generic/tclDictObj.c: * generic/tclExecute.c: * tests/obj.test:
* * generic/tclBasic.c: Updated callers to call new routine.dgp2005-04-211-3/+3
| | | | * generic/tclCompCmds.c: Updated callers to call new routine.
* Improved [switch] compilation.dkf2005-04-081-122/+189
|
* * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checksdgp2005-03-181-15/+11
| | | | | for immediate operand usage to permit leading space and sign characters. [Bug 1165671]
* * generic/tclCompCmds.c: removed debugging lineMiguel Sofer2005-03-101-2/+1
|
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):dgp2004-10-181-47/+56
| | | | | | | | | | | | * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn): * generic/tclCompCmds.c (TclCompileReturnCmd): * generic/tclExecute.c (TclCompEvalObj): * generic/tclInt.h (Interp): * generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of the -level and -code information in private fields of the Interp struct, rather than in a DictObj. This should significantly improve performance of TclUpdateReturnInfo.
* Report compilation errors at runtime, [Patch 103368] by dgp.Miguel Sofer2004-09-261-450/+119
|
* * generic/tclCompCmds.c: Tolerate [append] syntax errorsdgp2004-09-221-6/+2
| | | | | * tests/appendComp.test (8.1): at compile time, and allow runtime to raise the error (or succeed if a redefined [append] allows).
* Fix for my bozo-ness. [Bug 898910]dkf2004-02-171-2/+2
|
* Minor comment improvementsdkf2004-01-201-5/+6
|
* Full bytecode compilation for [lassign]dkf2004-01-181-1/+121
|
* Patch 876451: restores performance of [return]. Also allows formsdgp2004-01-131-57/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | 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().