summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* more fixes to instruction tracing; ensure all places that need ↵dkf2014-01-021-90/+123
| | | | DECACHE_STACK_INFO have it. jan.nijtmans: Branch moved aside an hidden, so future bisects are not affected by this branch mistakes.
* factor out a common peephole stanzadkf2014-01-011-137/+79
|
* another jump peephole, this time with string comparisonsdkf2013-12-311-0/+14
|
* more peephole optimizations in TEBC, and better instruction execution tracesdkf2013-12-311-148/+212
|
* clarify the resume sequence in TEBCresume; make checkInterp a local ↵mig2013-12-311-28/+14
| | | | variable, remove it from the saved struct
* remove ill-advised change to assembler dkf2013-12-311-31/+3
|\ | | | | What made sense for the compiler does not for the assembler, as that can (and does) build code blocks entirely out of order.
| * merge trunkdkf_asm_crash_20131022dgp2013-12-30291-847/+1111
| |\ | |/ |/|
* | Added new tools for managing and verifying the stack depth during ↵mig2013-12-233-11/+48
| | | | | | | | compilation. Used it in some spots in the compiler and in TclCompileCatchCommand.
* | remove unnecessary messing around INST_CONTINUE and INST_BREAK: local ↵mig2013-12-221-10/+4
| | | | | | | | continue/break are already converted to jumps, so that these are either caught or returned - in either case, the stacks are cleaned up properly by TEBC itself.
* | remove duplicate statement in previous commitmig2013-12-221-1/+0
| |
* | fix stack counting bug in new catch compiler, commit 62a51cdb45.mig2013-12-221-2/+8
| |
* | remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick ↵mig2013-12-204-0/+16
| | | | | | | | from mig-optimize)
* | Add TclRegisterLiteral() to internal stub table (from "mig-optimize" branch, ↵jan.nijtmans2013-12-195-3/+15
| | | | | | | | looks like a good idea anyway)
* | [0b874c344d] Fix for nested coroutines ability to stitch together multipledgp2013-12-182-36/+43
|\ \ | | | | | | parts of the CmdFrame chain traversed by [info frame].
| * \ merge trunkbug_0b874c344ddgp2013-12-1811-279/+409
| |\ \ | |/ / |/| |
* | | Making the optimizer pluggable by extensionsmig2013-12-185-4/+16
|\ \ \
| * | | Making the optimizer pluggable by extensions; please review for committing ↵mig_tmp_optimizemig2013-12-185-4/+16
|/ / / | | | | | | | | | to trunk
* | | Improve descriptions of character escapes and ranges in Tcl.n.dkf2013-12-153-18/+24
| | | | | | | | | Improve output format handlers to cope with added escape for en-dashes.
* | | simplification of the catch compiler and new testmig2013-12-112-73/+48
|\ \ \
| * | | commentsmig2013-12-111-7/+4
| | | |
| * | | commentsmig2013-12-111-5/+2
| | | |
| * | | commentsmig2013-12-111-1/+7
| | | |
| * | | new test, and fix for bugmig2013-12-112-6/+39
| | | |
| * | | simplify: remove the special casemig2013-12-111-21/+4
| | | |
| * | | store options early: simplify compiler, reduce stack manipulationsmig2013-12-111-26/+6
| | | |
| * | | simplifying: drop early the evaled scriptmig2013-12-111-29/+8
|/ / /
* | | fix stack computations for lmapmig2013-12-101-1/+1
| | |
* | | new INST_LMAP_COLLECT, speeds up lmap and eliminates the need for a temp varmig2013-12-104-29/+36
| | |
* | | change NULL to INT2PTR(0), for claritymig2013-12-061-1/+1
|\ \ \
| * | | change NULL to INT2PTR(0), for claritymig_opt_foreachmig2013-12-061-1/+1
| | | |
| * | | merge trunkmig2013-12-064-19/+55
| |\ \ \ | |/ / / |/| | |
* | | | Oops, wrong macro.jan.nijtmans2013-12-061-2/+2
| | | |
* | | | Introducing a new union member in Tcl_Obj is not a good idea in a patch ↵jan.nijtmans2013-12-062-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | release, especially using "long". Better allow iterNum and iterMax to grow to ssize_t (or size_t) in Tcl 9 (or 8.x, why not?). Usage of "long" in public API causes interoperability problems between Cygwin64 and Win64 (probably no-one cares except me).
* | | | Stop printing undefined values in disassembled code.dkf2013-12-063-10/+50
| | | |
* | | | 3x speed improvement in foreach, via new compiler and opcodes. The old ↵mig2013-12-065-161/+255
|\ \ \ \ | |/ / / | | | | | | | | version remains for old .tbc sake, but is unused in the core.
| * | | adapted the array-set compiler to use the new foreach opcodesmig2013-12-062-53/+31
| | | |
| * | | tighter mem management in array-set compilermig2013-12-061-2/+2
| | | |
| * | | tighter mem managementmig2013-12-061-4/+2
| | | |
| * | | add comments on INST_FOREACH_*mig2013-12-051-0/+2
| | | |
| * | | add comments on field "misuse"mig2013-12-052-1/+2
| | | |
| * | | New compiler and bytecodes for foreach and lmap: 70% faster mig2013-12-055-105/+220
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | * speed as measured by http://wiki.tcl.tk/39021: runs in <1/3 the time * still need to adapt array-set to use this * assemble.test-16.5 or 16.6 bombs in a purify/symbols build (?) * removing the old opcodes would force recompilation of old .tbc files or adaptation of tbcload
| * | Big simplification of the bug fix.dgp2013-12-181-66/+34
| | |
| * | Factor out the level offsetting into a final pass. Let the firstdgp2013-12-171-16/+27
| | | | | | | | | pass of the "chain" operation just stitch things together and count levels.
| * | Refactoring work on the "chain" operation.dgp2013-12-161-53/+48
| | |
| * | Simplify the coding of the unchain operation.dgp2013-12-131-31/+9
| | |
| * | Draft fix for Bug 0b874c344d. Includes test.dgp2013-12-052-4/+59
|/ /
* | [a122627849] Improve stack trace from parray on not-array.dkf2013-11-241-1/+1
|\ \
| * | [a122627849] Improve stack trace from parray on not-array.dkf2013-11-241-1/+1
| | |
* | | revert accidental part of previous commitjan.nijtmans2013-11-222-8/+0
| | |
* | | Cygwin: Fix conflicting definition with _mingw_stat64.h, if included ↵jan.nijtmans2013-11-223-1/+9
|\ \ \ | |/ / | | | | | | together with <tcl.h>