summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * | | | | | | | | | Implement Tcl_NewBooleanObj, Tcl_DbNewBooleanObj and Tcl_SetBooleanObj as ↵jan.nijtmans2013-04-231-19/+10
| | | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | | | | | | | | | | New internal routine TclNRInvoke() - NR-enabled path through the machinerydgp2013-04-111-0/+1
| | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | behind invokehidden commands.
| | * | | | | | | | | | | LimitHandler struct used only locally. Remove from tclInt.hdgp2013-02-251-29/+0
| | |\ \ \ \ \ \ \ \ \ \ \ | | | |/ / / / / / / / / /
| | * | | | | | | | | | | Remove unused struct InterpList.dgp2013-02-251-11/+0
| | |\ \ \ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ \ \ Array Search struct used only locally. Remove from tclInt.h.dgp2013-02-251-24/+0
| | |\ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | Eliminate all Tcl_ConvertToType calls and all direct calls to ↵jan.nijtmans2013-02-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | typePtr->setFromAnyProc (except the call from inside the Tcl_ConvertToType function) from the Tcl core.
| | * | | | | | | | | | | | | merge core-8-5-branchjan.nijtmans2013-01-311-5/+5
| | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | Name functions according to 'what' instead of 'how' in the [tailcall]mig2013-01-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-33/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
| | * | | | | | | | | | | | | | Improve code generation for many simple core ensemble subcommands.dkf2013-01-041-0/+36
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | | | | Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-0/+36
| | | | |_|_|_|_|_|_|_|/ / / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
| | * | | | | | | | | | | | | | Insure that PURIFY builds cannot exploit the Tcl stack to hide mem defects.mig2013-01-041-0/+1
| | |/ / / / / / / / / / / / /
| * | | | | | | | | | | | | | merge main dev branchdkf2013-01-031-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / /
| | * | | | | | | | | | | | | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-021-1/+1
| | | |_|_|_|_|_|_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ckalloc to allow MEM_DEBUG to work properly
| * | | | | | | | | | | | | merge main dev branchdkf2012-11-051-0/+27
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / /
| | * | | | | | | | | | | | Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+3
| | | |_|_|_|_|_|/ / / / / | | |/| | | | | | | | | |
| | * | | | | | | | | | | Added more TclOO introspection bytecodes ([info object class], [info object ↵dkf2012-11-021-0/+6
| | | |_|_|_|_|/ / / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | namespace]). Also moved TclOO-in-8.6 to using the main Tcl internal ensemble builder.
| * | | | | | | | | | | Work on compilation of [string is].dkf2012-11-021-0/+3
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hit some problem edge cases with differences in strictness of edge cases that will force a rethink ([string is boolean] is significantly more strict than Tcl_GetBooleanFromObj).
| * | | | | | | | | | Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | though; it does not detect tailcall-of-self as a special case.
| * | | | | | | | | | Added compilation of [dict create] and [dict merge].dkf2012-11-011-0/+6
| | | | | | | | | | |
| * | | | | | | | | | Added [dict exists] compilation; implementation is 95% shared with [dict get].dkf2012-10-301-2/+5
| | | | | | | | | | |
| * | | | | | | | | | Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-0/+6
| | | | | | | | | | |
| * | | | | | | | | | Added compilation of [regsub] (in the simplest, most restricted case).dkf2012-10-301-0/+3
| | | | | | | | | | |
| * | | | | | | | | | Added compilation of simplest practical case of [string map].dkf2012-10-291-0/+3
| | | | | | | | | | |
| * | | | | | | | | | Compiler for some of the simpler cases of [format].dkf2012-10-291-0/+3
| | | | | | | | | | |
| * | | | | | | | | | Merge corrected [yield] compilation. Many thanks to Miguel Sofer for help.dkf2012-10-291-0/+4
| |\ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-0/+4
| | | | | | | | | | | |
| * | | | | | | | | | | Compilation of [info commands] in the case of a fully-qualified literal name.dkf2012-10-291-0/+3
| |/ / / / / / / / / /
| * | | | | | | | | | Compile [namespace which -command]; big performance saving in some contexts.dkf2012-10-261-0/+3
| | | | | | | | | | |
| * | | | | | | | | | Added compilation of [namespace code] (except for gnarly edge cases).dkf2012-10-251-0/+3
| | | | | | | | | | |
| * | | | | | | | | | merge trunkdkf2012-10-241-8/+7
| |\ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | Added compilation of [dict unset]; the bytecode needed already existed anyway.dkf2012-10-241-0/+3
| | | | | | | | | | | |
| | * | | | | | | | | | Add "flags" parameter from Tcl_LoadFile to to various internal functions, so ↵jan.nijtmans2012-10-231-8/+4
| | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | these flags are available through the whole filesystem for (future) internal use
| * | | | | | | | | | | | yet another small introspector: [self]dkf2012-10-191-0/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | merge trunkdkf2012-10-171-2/+24
| |\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / /
| | * | | | | | | | | | | compilation code adjusteddkf2012-10-051-10/+8
| | | | | | | | | | | | |
| | * | | | | | | | | | | merge trunkdkf2012-10-051-2/+6
| | |\ \ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | 3564735 Protect against mem corruption when var resolvers misbehave.dgp2012-09-111-2/+6
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Rename 'mapeach' to 'lmap' per preferred alternative in TIP #405.twylite2012-08-081-8/+8
| | | | | | | | | | | | | |
| | * | | | | | | | | | | | Back-out 'foreacha' implementation but leave code cleanup of 'mapeach' and ↵twylite2012-08-081-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'dict map'.
| | * | | | | | | | | | | | [Patch-3163961] Implementation of TIP #405 merged from private branch. ↵twylite2012-08-031-0/+30
| | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes 'mapeach', 'dict map' and 'foreacha' commands, test suite (partial for 'foreacha') and man pages (except for 'foreacha').
| * | | | | | | | | | | | merge trunkdkf2012-08-041-0/+20
| |\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / /
| | * | | | | | | | | | | Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-0/+19
| | | | | | | | | | | | |
| | * | | | | | | | | | | * generic/tclUtil.c (TclDStringToObj): Added internal function to makedkf2012-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the fairly-common operation of converting a DString into an Obj a more efficient one.
| * | | | | | | | | | | | Compilation of misc info sometimes used in high-performance code.dkf2012-03-041-0/+9
| |/ / / / / / / / / / /
| * | | | | | | | | | | * generic/tclCompCmds.c (TclCompileLreplaceCmd): Added a compilationdkf2012-02-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strategy for [lreplace] that tackles the cases which are equivalent to a static [lrange].
| * | | | | | | | | | | * generic/tclCompCmds.c (TclCompileLrangeCmd): Add compiler fordkf2012-02-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [lrange] with constant indices so we can take advantage of existing TCL_LIST_RANGE_IMM opcode. (TclCompileLindexCmd): Improve coverage of constant-index-style compliation using technique developed for [lrange] above.
| * | | | | | | | | | | 3479689 New internal routine TclJoinPath().dgp2012-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor all the *Join*Path* routines to give them more useful interfaces that are easier to manage getting the refcounts right.