summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* merge trunkjan.nijtmans2012-11-201-3/+0
|\
| * [Bug 3588366]: Corrected implementation of bounds restriction for end-indexeddkf2012-11-191-3/+0
| | | | | | compiled [string range]. Thanks to Emiliano Gavilan for diagnosis and fix.
* | Burn the octal bridges. We're not goin' back.dgp2012-11-161-11/+3
| |
* | Abandon support for pre-8.5 bytecode.dgp2012-11-151-133/+1
|/
* re-enable bcc-tailcall, after fixing an infinite loop in the ↵mig2012-11-101-1/+1
| | | | TCL_COMPILE_DEBUG mode
* Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-6/+108
| | | | whole bunch of issues with opcode issuing that were causing problems with stack depth calculations.
* Added compilation of [string last] and improved the compilation of [string ↵dkf2012-11-031-1/+47
| | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
* Added compilation of [info object isa object] (i.e., object verification).dkf2012-11-031-0/+5
|
* Added more TclOO introspection bytecodes ([info object class], [info object ↵dkf2012-11-021-0/+28
| | | | namespace]). Also moved TclOO-in-8.6 to using the main Tcl internal ensemble builder.
* Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-0/+49
| | | | though; it does not detect tailcall-of-self as a special case.
* Added compilation of [dict create] and [dict merge].dkf2012-11-011-2/+13
|
* Added [dict exists] compilation; implementation is 95% shared with [dict get].dkf2012-10-301-2/+23
|
* Some corrections and performance tweaksdkf2012-10-301-46/+56
|
* Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-1/+66
|
* Added compilation of simplest practical case of [string map].dkf2012-10-291-0/+52
|
* fix INST_YIELD so that it worksdkf_bytecode_8_6_yieldmig2012-10-281-5/+21
|
* Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-0/+26
|
* Compile [namespace which -command]; big performance saving in some contexts.dkf2012-10-261-0/+10
|
* yet another small introspector: [self]dkf2012-10-191-0/+24
|
* merge trunkdkf2012-08-041-18/+20
|\
| * converting to using Tcl_Obj API for error message generation; part donedkf2012-08-031-18/+20
| |
* | Compilation of misc info sometimes used in high-performance code.dkf2012-03-041-0/+64
|/
* * generic/tclExecute.c (INST_LIST_RANGE_IMM): Enhance implementationdkf2012-02-161-2/+23
| | | | so that shortening a (not multiply-referenced) list by lopping the end off with [lrange] or [lreplace] is efficient.
* Make some of the logic in TclCompileObj less heavily nested, to improve clarity.dkf2011-11-221-99/+98
|
* Fix a bug where global precompiled code (A) called from a precompiled andreask2011-11-211-7/+9
| | | | | | | | | | | | | | | | | | | | procedure causes the core to recompile (A), triggering the trap laid inside, i.e. 'error "called a copy of compiled code"'. <pre>Example ----------------------ex1.tcl proc init {} { source ex2.tcl } init ----------------------ex2.tcl puts a ----------------------</pre> When run as precompiled code the 'puts a' is not executed, only the trap. Fixed by enclosing the offending code into a guard which prevents its execution for precompiled code. The change passes the entire testsuite.
* Added support for having the dict var itself referenced by LVT index.dkf2011-10-031-13/+47
|
* Experimental compilation of the [dict with] subcommand. No tests yet, and notdkf2011-10-021-4/+41
| | | | yet certain that the added bytecode opcodes are correct; evaluation is still needed (but the test suite does pass...)
* [Bug 2919042] Restore "valgrindability" of Tcl that was lost by the ↵ferrieux2011-08-091-4/+8
| | | | streamlining of [exit], by conditionally forcing a full Finalize: use -DPURIFY or ::env(TCL_FINALIZE_ON_EXIT)
* platform portable type matching in debug printsdgp2011-07-121-1/+1
|
* Correct cast for CURR_DEPTH to silence compiler warning. [Bug 3339502]Joe Mistachkin2011-07-111-1/+1
|
* Reverted the fix for [Bug 3274728] committed on 2011-04-06 (rev ↵andreask2011-06-081-3/+3
| | | | [caf317ab68]) and replaced with one which is 64bit-safe. The existing fix crashed tclsh on Windows 64bit.
* TclFreeIntRep() cleanup.dgp2011-04-271-1/+0
|
* * generic/tclExecute.c (TclCompileObj): earlier return if Tip280 gymnastics ↵mig2011-04-071-1/+5
|\ | | | | | | not needed.
| * * generic/tclExecute.c (TclCompEvalObj): earlier return if Tip280 gymnastics ↵mig2011-04-071-39/+37
| | | | | | | | not needed
* | last bugfix was incompletemig2011-04-071-1/+1
| |
* | * generic/tclExecute.c: fix for [Bug 3274728], making *catchTop an unsigned ↵mig2011-04-061-2/+2
| | | | | | | | long.
* | Reduce the number of casts used to manage Tcl_Obj internal representations.dkf2011-03-261-78/+69
| |
* | remove TD->expanded, not needed nowmig2011-03-131-8/+1
| |
* | * generic/tclExecute.c: remove TEBCreturn()mig2011-03-131-27/+10
| |
* | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-10/+10
| | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | * generic/tclExecute.c (TclStackFree): insure that the execStack satisfiesMiguel Sofer2011-03-051-8/+17
| | | | | | | | "at most one free stack after the current one" when consecutive reallocs caused the creation of intervening stacks.
* | * generic/tclExecute.c: cleaner mem management for TEBCdataMiguel Sofer2011-03-051-4/+8
| |
* | Renamed BottomData to TEBCdata, so that the name refers to what it is rather ↵Miguel Sofer2011-03-051-52/+45
| | | | | | | | than to its storage location.
* | Renamed struct TEOV_callback to the more descriptive NRE_callback.Miguel Sofer2011-03-051-2/+2
| |
* | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ | |/ | | cause more harm than good. Purged them (except in zlib files).
| * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ | | | | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-011-7/+7
| | | | | | | | | | | | | | | | | | | | | * generic/tclVar.c: make the behaviour of lappend in bytecompiled * tests/append.test: mode consistent with direct-eval and 'append' * tests/appendComp.test: generally. Added tests (append*-9.*) showing the difference.
| | * Fix [Bug 2954959] expr abs(-0.0) is -0.0nijtmans2010-02-221-1/+11
| | | | | | | | | | | | Added some test cases, adapted and backported from 8.5
| | * * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, ListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-22): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script's, to properly account for them while counting lines for #280, during direct and compiled execution.