summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* COMPILE_DEBUG big: fix bug in stack verification for {*}mig2013-01-171-2/+6
|
* discouraging the compiler from re-reading *pc in the peephole loop, part2 ↵mig2013-01-121-6/+2
| | | | (any diff?)
* discouraging the compiler from re-reading *pc in the peephole loopmig2013-01-121-7/+10
|
* even better ... or so I hope: also inlining INST_PUSH1 in the peephole, ↵mig2013-01-121-53/+40
| | | | checking for ISC after LOAD1 and PUSH1
* better commentsmig2013-01-111-2/+6
|
* fix for consecutive ISC (produced by [while 1 {...})mig2013-01-111-21/+16
|
* 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
| |