summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | testing a cheaper(?) INST_START_COMMANDmig2013-01-111-49/+48
| | | |
* | | | Name functions according to 'what' instead of 'how' in the [tailcall]mig2013-01-111-1/+1
| | | | | | | | | | | | machinery, in view of making public some parts of it.
* | | | tailcall now running in a simpler model, with no eval-flags and no nre-stack ↵mig2013-01-101-13/+7
| | | | | | | | | | | | | | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
* | | | fix off-by-one error introduced in bd7d7a2061mig2013-01-101-1/+1
| | | |
* | | | improved stack checking under TCL_COMPILE_DEBUGmig2013-01-051-10/+9
| | | |
* | | | fix the new assertion, it should not trigger when an expansion is in progressmig2013-01-051-2/+5
| | | |
* | | | Add an assertion that checks the stack depth under TCL_COMPILE_DEBUG ↵mig2013-01-051-2/+10
| | | | | | | | | | | | | | | | *before* stack cleanup. It currently triggers at several spots in the testsuite!
* | | | Insure that PURIFY builds cannot exploit the Tcl stack to hide mem defects.mig2013-01-041-1/+13
| | | |
* | | | Added mechanism for pre-parsing built-in ensembles even when they are not goingdkf2013-01-031-0/+63
|\ \ \ \ | | | | | | | | | | to generate specific code. This provides a good speedup in some cases.
| * | | | Passing more tests.dkf2013-01-021-9/+15
| | | | |
| * | | | Working towards more efficient treatment of non-bytecoded ensemble subcommands.dkf2012-12-311-0/+57
| | | | |
* | | | | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-021-3/+3
|/ / / / | | | | | | | | | | | | ckalloc to allow MEM_DEBUG to work properly
* | | | [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.
* | | | 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.