summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
Commit message (Collapse)AuthorAgeFilesLines
* More efficient issuing of INST_START_CMD instructions. See ChangeLog for ↵dkf2007-01-191-4/+7
| | | | discussion
* Code style improvementsdkf2007-01-181-125/+138
|
* Minor fix to make bytecodes print out properlydkf2007-01-181-2/+2
|
* Fix [Bug 1638414] and make bytecode of expansion betterdkf2007-01-181-71/+103
|
* fix warningsdas2006-12-011-3/+3
|
* * generic/tclBasic.c: TIP #280 implementation.andreas_kupries2006-11-281-11/+383
| | | | | | | | | | | | | | | | | | | | | * 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:
* TIP#270 IMPLEMENTATIONdgp2006-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tcl.decls: New public routines Tcl_ObjPrintf, * generic/tclStringObj.c: Tcl_AppendObjToErrorInfo, Tcl_Format, * generic/tclInt.h: Tcl_AppendLimitedToObj, Tcl_AppendFormatToObj and Tcl_AppendPrintfToObj. Former internal versions removed. * generic/tclDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclBasic.c: Updated callers. * generic/tclCkalloc.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclIORChan.c: * generic/tclIOUtil.c: * generic/tclMain.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclProc.c: * generic/tclStrToD.c: * generic/tclTimer.c: * generic/tclUtil.c: * unix/tclUnixFCmd.c:
* Minor simplification of memcpy usagedkf2006-11-081-13/+12
|
* * generic/tclCompile.c:Miguel Sofer2006-09-301-1/+46
| | | | | | | | | * generic/tclHistory.c: * generic/tclInt.h: * generic/tclProc.c: made Tcl_RecordAndEvalObj not call "history" if it has been redefined to an empty proc, in order to reduce the noise when debugging [FR 1190441]. Moved TclCompileNoOp from tclProc.c to tclCompile.c
* add casts to make gcc2 happy with previous commit [Bug 1548330]das2006-08-291-6/+6
|
* fixed printf format warnings from gcc4 when TCL_COMPILE_STATS defineddas2006-08-281-3/+3
|
* * generic/tclCompile.c: Revised the new set of expressiondgp2006-08-171-1/+2
| | | | * generic/tclParseExpr.c: parse error messages.
* Various minor object file size efficiency fixes. [Bug 1530474]dkf2006-08-101-8/+8
|
* New TEBC opcode, INST_JUMP_TABLE, for compiling the simple (and common) case ofdkf2005-11-301-5/+13
| | | | | [switch] into a jump-table. Much faster for long switches. Also compiler support for generating the new instruction where appropriate.
* Strip a few more pre-ANSI-ismsdkf2005-11-071-21/+20
|
* Remove _ANSI_ARGS_ and clean up a few commentsdkf2005-10-131-161/+160
|
* Compiler for [dict] and related changes.dkf2005-07-211-6/+57
|
* More minor tinkering with comments and code-layoutdkf2005-07-141-13/+14
|
* Style improvements to tclCompile.c, plus bytecode printing enhancements.dkf2005-07-141-917/+879
|
* typodkf2005-06-201-2/+2
|
* Add compilation for TIP#90-style [catch] requiring a new opcode [Bug1219112]dkf2005-06-201-20/+31
|
* Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
|
* * generic/tclCompCmds.c: Replaced all instance ofdgp2005-05-051-5/+4
| | | | | | | | * 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.
* * generic/tclCompile.c:Commented out the functionsMiguel Sofer2005-04-131-1/+7
| | | | | TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not debugging the compiler, as they are never called in that case.
* * generic/tclCompile.c: fixed INST_RETURN's stack effect inMiguel Sofer2005-03-141-2/+2
| | | | tclInstructionTable (-1 instead of -2)
* Avoid sharing cmdName literals accross namespaces, and generalise usage ofMiguel Sofer2004-12-241-11/+12
| | | | the TclRegisterNewLiteral macro [Patch 1090905]
* * generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.cMiguel Sofer2004-12-201-139/+1
| | | | | | | | * generic/tclProc.c: new static InitCompiledLocals to allow for a single pass over the proc's arguments at proc load time (instead of two as previously). TclObjInterpProc() now allocates the compiledLocals on the tcl execution stack, using the new TclStackAlloc/Free functions.
* optimised loops that initialise a proc's arguments and compiled localMiguel Sofer2004-12-101-59/+88
| | | | variables, removing tests from inner loops.
* Core of implementation of TIP#201 ('in' and 'ni' operators)dkf2004-10-081-1/+6
|
* Convert string to stringPtrdkf2004-10-061-12/+12
|
* Factorize out the code for freeing an object's internal rep.dkf2004-09-291-5/+2
|
* Report compilation errors at runtime, [Patch 103368] by dgp.Miguel Sofer2004-09-261-184/+80
|
* Corrected the base for the errorline calculationdgp2004-09-231-2/+2
|
* * generic/tclCmdMZ.c (TclProcessReturn): Support the -errorlinedgp2004-09-221-25/+43
| | | | | | | * generic/tclCompile.c (TclCompileScript): option to [return]. * tests/compile.test (16.23.*): Use that capability to defer reporting * tests/misc.test (1.2): of parse errors until runtime. Updated tests to reflect change. [Bug 1032805]
* * generic/tclBasic.c: Reworked management of the interpdgp2004-09-211-10/+1
| | | | | | | | | | | | | | * generic/tclCompile.c: flag ERR_ALREADY_LOGGED, to reduce * generic/tclExecute.c: its exposure. Still left several * generic/tclNamesp.c: references that are just too nice on performace to do away with. These changes also resolve an inconsistency in the ::errorInfo values produced by [namespace eval x error foo bar] and [namespace eval x {error foo bar}]. * generic/tclExecute.c (TclCompEvalObj): Simplified the TclCompEvalObj routine. Much housekeeping now reliably happens elsewhere. [Patch 1031949]
* * generic/tclCompile.c (TclCompileScript):Miguel Sofer2004-07-151-3/+8
| | | | | | | | | * generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523], which resurfaced with the latest changes. The previous strategy was to have special code in TclReleaseLiteral to handle the self-references generated by empty scripts. The new approach avoids the self-reference altogether, by having empty scripts return an unshared literal.
* Modified the logic of literal table cleanup at interp deletion time,Miguel Sofer2004-07-081-13/+15
| | | | | insuring that the fix of [Bug 983660] does not have a negative perf impact.
* * generic/tclCompile.c (TclCompileScript): fix for [Bug 458361].Miguel Sofer2004-07-071-1/+10
| | | | | Single-word scripts are compiled with an unshared cmdName to avoid shimmering between bytecode and cmdName reps.
* * tests/cmdMZ.test (cmdMZ-return-2.17): Added a test that a worddgp2004-07-061-4/+5
| | | | | | | | | containing backslash-quoted value is treated correctly. * generic/tclCompile.c (TclWordKnownAtCompileTime): [Bug 986196] Corrected flaw above and the flaw that caused TCL_TOKEN_SIMPLE_WORDs to have their original word value copied ( "{a b}" ) rather than the actual value ( "a b" ). Thanks to Kevin Kenny for report and tests.
* * generic/tclCompile.c:Miguel Sofer2004-06-081-2/+6
| | | | * generic/tclExecute.c: handle warning [Bug 969066]
* * generic/tclCompile.h:Miguel Sofer2004-05-161-63/+37
| | | | | | | | | | | * 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.
* Optimisations for INST_START_CMD [Bug 926164].Miguel Sofer2004-05-121-13/+21
| | | | | | | | | * generic/tclCompile.c (TclCompileScript): avoid emitting INST_START_CMD as the first instruction in a bytecoded Tcl_Obj. It is not needed, as the checks are done before calling TEBC. * generic/tclExecute.c (TclExecuteByteCode): runtime peephole optimisation: check at INST_POP if the next instruction is INST_START_CMD, in which case we fall through.
* slight improvement to last commitMiguel Sofer2004-05-041-7/+7
|
* * generic/tclCompile.c (TclCompileScript): setting the compilationMiguel Sofer2004-05-041-7/+7
| | | | namespace outside of the loop.
* * generic/tclCompile.c:Miguel Sofer2004-05-031-22/+7
| | | | | | * generic/tclInt.h: reverted fix for [Bug 926445] of 2004-04-02, restoring TCL_ALIGN to the header file. Todd Helfter reported that the macro is required by tbcload.
* * generic/tclCompile.c:Miguel Sofer2004-04-021-7/+22
| | | | | * generic/tclInt.h: removed the macro TCL_ALIGN() from tclInt.h, replaced by the static macro ALIGN() in tclCompile.c [Bug 926445]
* * generic/tclCompile.c: New instruction code INST_START_CMDMiguel Sofer2004-03-301-1/+21
| | | | | | | | | * 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.
* * generic/tclCompile.c (TclCompileScript): corrected possibleMiguel Sofer2004-03-291-3/+4
| | | | | segfault when a compilation returns TCL_OUTLINE_COMPILE after having grown the compile environment.
* Minor whitespace/capitalization fixesdkf2004-01-201-15/+15
|
* Full bytecode compilation for [lassign]dkf2004-01-181-2/+17
|