summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsSZ.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Remove outdated comment. Stack depths are well checked now.dgp2013-07-231-3/+0
| | | | |
| * | | | merge trunkdgp2013-07-151-5/+2
| |\ \ \ \
| | * | | | Prefer CompileWord() over CompileTokens() when possible.dgp2013-07-151-2/+1
| | | | | |
| | * | | | Global replace: CompileBody() -> BODY().dgp2013-07-121-3/+1
| | | | | |
| * | | | | merge trunkdgp2013-07-111-41/+17
| |\ \ \ \ \ | | |/ / / /
| | * | | | Revert the revised macros used in developing the new tests.tip280_test_coveragedgp2013-07-111-6/+6
| | | | | |
| | * | | | Add tests for SetLineInformation() calls in tclCompCmdsSZ.c as well as somedgp2013-07-101-45/+21
| | | | | | | | | | | | | | | | | | obvious refactoring improvements.
| | * | | | First additional test. Remove dup macros in tclEnsemble.c.dgp2013-07-101-3/+1
| | | | | |
| | * | | | Disabling the SetLineInformation() macro entirely causes only 3 testsdgp2013-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the test suite to fail. Restoring just 2 SetLineInformation() calls fixes those failures. The need for all the other SLI() calls is not demonstrated by any test. Without more complete test coverage, it is difficult to confidently tweak the TIP 280 implementation without fear that changes are introducing breakage.
| * | | | | More elimination of error message litter to fix [Bug 20a81392ec].dgp2013-06-281-0/+3
| |/ / / /
* | | | | Improved rendering of some opcode arguments and auxdata.dkf2013-06-131-1/+31
|/ / / /
* | | | Select improvements in stack depth estimates brought over from mig-review.dgp2013-06-111-28/+6
| | | | | | | | | | | | | | | | | | | | Mostly these are just simplifications, removing code that wasn't needed. Some changes make the stack depth estimate more accurate instruction by instruction.
* | | | Stack housekeeping repair for last checkin.dgp2013-06-111-0/+2
| | | |
* | | | [33b7abb8a2] [7174354ecb] Rewrite TclCompileThrowCmd().dgp2013-06-111-59/+46
| | | |
* | | | Fix the problems with code generation; behavior now appears correct.dkf_better_try_compilationdkf2013-06-091-129/+204
| | | |
* | | | Improving tests, fixed one case.dkf2013-06-091-27/+44
| | | |
* | | | Working on a better compiler for [try]; found some bugs in previous compilationdkf2013-06-081-23/+123
| | | | | | | | | | | | code which aren't resolved yet.
* | | | Factor out stereotypical ways of getting variable indices.dkf2013-06-081-11/+9
| | | |
* | | | Fix a stack depth calculation.dkf2013-06-021-1/+1
| | | |
* | | | Many improvements to code generation of efficient break and continue.dkf2013-06-021-5/+6
| | | |
* | | | Working towards the next batch of optimizations.dkf2013-05-301-0/+4
| | | |
* | | | Corrected code generation when doing the second run with an 'infinite' loop.dkf2013-05-301-1/+1
| | | |
* | | | Stop emitting the instructions INST_*_SCALAR_STK*. They are identical todgp2013-05-291-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | their INST_*_STK* counterparts. Having done that, it is clear the "simpleVarName" return from TclPushVarName provides nothing of use to any of its callers. Eliminate that. Also make TPVN return void, instead of int. Bring the TPVN header comments up to date; they were quite rotten.
* | | | Repair some stack depth housekeeping.dgp2013-05-251-1/+1
| | | |
* | | | Spare developers the burden and error risk of counting bytes in stringdgp2013-05-231-15/+19
| | | | | | | | | | | | literals, or having to type them twice.
* | | | Eliminate code duplication.dgp2013-05-231-292/+0
| | | |
* | | | More extensive use of the techniques to improve other edge cases in ensemble ↵dkf2013-01-281-5/+5
| | | | | | | | | | | | | | | | compilation.
* | | | tailcall now running in a simpler model, with no eval-flags and no nre-stack ↵mig2013-01-101-1/+3
| | | | | | | | | | | | | | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
* | | | Fix bad memory access problems found by Miguel Sofer when valgrinding.dkf2013-01-041-1/+1
| |_|/ |/| |
* | | Better version that can handle simple composite array keys as well. As long asdkf2012-12-181-10/+23
| | | | | | | | | | | | they are free of command substitutions, we can still safely omit the exception processor code.
* | | Generate better code for the common case of subst-ed variables where thedkf2012-12-181-0/+15
| | | | | | | | | variable is a simple scalar or an array with a simple literal element name.
* | | silence compiler warningdgp2012-11-291-7/+7
| |/ |/|
* | Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-1/+18
| | | | | | | | 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-176/+76
|/ | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
* Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-0/+44
| | | | though; it does not detect tailcall-of-self as a special case.
* Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-70/+209
|
* Added compilation of simplest practical case of [string map].dkf2012-10-291-0/+82
|
* Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-0/+43
|
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-2/+1
|
* Rewrite of parts of the switch compiler to better use the powers ofdgp2011-05-021-104/+45
| | | TclFindElement() and do less parsing on its own.
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-18/+17
| | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-1/+2
| | | | | | * generic/tclCompile.c: with TclParseBackslash() where possible. * generic/tclCompCmdsSZ.c: * generic/tclParse.c: * generic/tclUtil.c:
* 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).
* fix leaks in throw and unset compilersmig2011-03-011-0/+2
|
* Various mismatches between Tcl_Panic format string and its arguments,nijtmans2011-01-181-8/+8
| | | | discovered thanks to [Bug 3159920]
* * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]:dkf2010-05-281-45/+57
| | | | | Corrected error in handling of catch contexts to prevent crash with chained handlers.
* * generic/tclCompCmdsSZ.c (TclSubstCompile): If the first token doesdkf2010-04-081-3/+22
| | | | | | | | not result in a *guaranteed* push of a Tcl_Obj on the stack, we must push an empty object. Otherwise it is possible to get to a 'concat1' or 'done' without enough values on the stack, resulting in a crash. Thanks to Joe Mistachkin for identifying a script that could trigger this case.
* [Freq 2974744] share exception codes (ObjType?)nijtmans2010-03-271-7/+2
|
* Make error message in "try" implementationnijtmans2010-03-231-3/+3
| | | | exactly the same as the one in "return"
* Compile the [throw] command.dkf2010-03-191-1/+111
|