summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* Revise INST_EXPAND_STKTOP so that it no longer makes use of its operand.dgp2013-06-111-14/+23
| | | | | | | | | | All the information required to do a proper expansion of the exec stack to support expanded command invocation is already present. The operand doesn't provide any essential information. By ignoring it, we eliminate the risk that the compiler might fill in the operand with a bad stack depth estimate value. INST_EXPAND_STKTOP doesn't need an operand, but in order to support loading of existing bytecodes we cannot change it now. There's also no need to change what the compiler tries to place in the operand, though changing it to always be zeros would be acceptable now.
* Repairs to compile/exec debugging output.dgp2013-06-111-7/+10
|
* Repair TCL_COMPILE_DEBUG guardsbug_3614342dgp2013-06-051-5/+7
|
* Stack Depth fixups.dgp2013-06-051-0/+2
|
* merge trunkdkf_compile_improvementsdkf2013-06-051-7/+7
|\
| * fix for perf bug detected by Kieran ↵mig2013-06-031-7/+7
| |\ | | | | | | | | | (https://groups.google.com/forum/?fromgroups#!topic/comp.lang.tcl/vfpI3bc-DkQ)
| | * fix for perf bug detected by Kieran ↵mig2013-06-031-5/+6
| | | | | | | | | | | | (https://groups.google.com/forum/?fromgroups#!topic/comp.lang.tcl/vfpI3bc-DkQ)
* | | Stack cleanup works now even in the most evil expansion cases.dkf2013-06-051-5/+6
| | |
* | | Next stage of fixing the break/continue generation.dkf2013-06-031-0/+11
|/ /
* | Don't #define VOID on VxWorks, as it is already typdef'd to void. Eliminate ↵jan.nijtmans2013-05-191-5/+5
|\ \ | |/ | | | | possibly conflicting LOCAL/OFFSET
| * Don't #define VOID on VxWorks, as it is already typdef'd to void. Eliminate ↵jan.nijtmans2013-05-191-4/+4
| |\ | | | | | | | | | possibly conflicting LOCAL/OFFSET
| | * Protect against multiple uses of a CompileEnv with only one initialization.dgp2013-02-211-18/+1
| | | | | | | | | | | | | | | Make TclFreeCompileEnv smarter about cleanup so all callers do not have to be. Revise TclSetByteCodeFromAny() so that when hookProc raises an error, bytecode is not generated. This was rumored to cause crashes.
| | * Silence some compiler warnings.dgp2013-01-241-0/+3
| | |
| | * More complete purge of things only present for supporting long-dead Mac 9 ↵dgp2012-11-151-1/+1
| | | | | | | | | | | | systems.
* | | merge trunkdkf_bcc_optimizedkf2013-05-151-2/+3
|\ \ \
| * \ \ Merged fix to bytecode engine problem. Details in merged revision.andreask2013-05-131-2/+3
| |\ \ \
| | * | | Fixed bug in parent revision [832a1994c7] unpredictably breaking thebugfix_832a1994c7_for_precompiled_bcandreask2013-05-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | execution of precompiled bytecode (i.e. tbcload'ed bytecode). The semi-inversion of a guard condition dropped the part about TCL_BYTECODE_PRECOMPILED of the original condition, allowing the core to attempt to recompile code for which there are no script sources (anymore), which then fails.
* | | | | A better technique for [list {*}blah]. Remove the INST_LIST_EXPANDED opcode ↵dkf2013-05-151-12/+0
|/ / / / | | | | | | | | | | | | (and the complex machinery associated with it) as as it is no longer needed.
* | | | Fix implementation of INST_LIST_EXPANDED.dkf2013-05-121-1/+5
| | | |
* | | | Optimizations and general bytecode generation improvements.dkf2013-05-101-6/+56
| | | |
* | | | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-29/+29
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | macros using Tcl_NewIntObj, Tcl_DbNewLongObj and Tcl_SetIntObj. Starting with Tcl 8.5, this is exactly the same, it only eliminates code duplication. Eliminate use of NO_WIDE_TYPE everywhere: It's exactly the same as TCL_WIDE_INT_IS_LONG
| * | | Tcl_InvalidateStringRep -> TclInvalidateStringRepjan.nijtmans2013-02-071-1/+1
| | | |
* | | | merge core-8-5-branchjan.nijtmans2013-01-311-6/+5
|\ \ \ \ | |/ / /
| * | | Use twoPtrValue.ptr1 in stead of otherValuePtr everywhere. This is exactly ↵jan.nijtmans2013-01-311-6/+5
| | | | | | | | | | | | | | | | the same field, but it allows twoPtrValue.ptr2 to be used for other purposes.
* | | | Eliminate some unneeded usages of Tcl_SetResult, Tcl_AddObjErrorInfojan.nijtmans2013-01-251-2/+2
| | | | | | | | | | | | Fix "make test-packages" on cygwin
* | | | Silence some compiler warnings.dgp2013-01-241-1/+0
|\ \ \ \ | |/ / /
| * | | 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
| * | | make some more internal tables constjan.nijtmans2012-04-231-2/+2
| |\ \ \ | | | |/ | | |/|
| | * | make some more internal tables constjan.nijtmans2012-04-231-1/+1
| | | | | | | | | | | | On cygwin, install dll's in /usr/bin, not in /usr/lib
| | * | make some more internal tables CONSTjan.nijtmans2012-04-181-4/+4
| | | | | | | | | | | | fix compilation with -DNO_CONST
| * | | some formatting (*.decls)jan.nijtmans2012-04-041-1/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | move up #undef, for macro which is conflicting with later stuff. remove some unused cygwin-related code some minor gcc warnings
| | * | wipunprovendgp2011-07-121-25/+25
| | | |
| | * | Type mismatches in *printf calls.dgp2011-07-111-7/+9
| | | |
* | | | 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
| | | |