summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* backport enhanced commentsdgp2008-04-081-5/+18
|
* fix and simplify the OFFSET computation for TclStackAllocMiguel Sofer2008-03-181-5/+4
|
* * generic/tclExecute.c: Patch from Miguel Sofer to correct thedgp2008-03-181-11/+4
| | | | alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
* typodgp2008-03-101-2/+2
|
* commentary cleanupdgp2008-03-071-3/+3
|
* * generic/tclExecute.c (Tcl_ExprObj): Revised expression bytecodedgp2008-03-071-41/+107
| | | | | | compiling so that bytecodes invalid due to changing context or due to the difference between expressions and scripts are not reused. [Bug 1899164].
* * generic/tclResult.c (Tcl_SetReturnOptions): Revised the refcountdgp2008-02-291-1/+2
| | | | | | | | | | management of Tcl_SetReturnOptions to become that of a conventional Consumer routine. Thanks to Peter Spjuth for pointing out the difficulties calling Tcl_SetReturnOptions with non-0-count value for options. * generic/tclExecute.c (INST_RETURN_STK): Revised the one caller within Tcl itself which passes a non-0-count value to Tcl_SetReturnOptions().
* fix comments in INST_CONCATMiguel Sofer2008-02-041-5/+4
|
* * generic/tclExecute.c (INST_CONCAT1): fix optimisation forMiguel Sofer2008-02-041-3/+6
| | | | in-place concatenation (was going over String type)
* Reconcile coding style issues between branchesdgp2008-01-231-6/+9
|
* * generic/tclCompExpr.c: add an 'optimize' argument toMiguel Sofer2008-01-161-9/+2
| | | | | | * generic/tclCompile.c: TclCompileExpr() to profit from better * generic/tclCompile.h: literal management according to usage. * generic/tclExecute.c:
* * generic/tclCompExpr.c: Fix literal leak in exprs [Bug 1869989]Miguel Sofer2008-01-161-1/+8
| | | | * generic/tclExecute.c: (dgp)
* * generic/tclAlloc.c:Miguel Sofer2007-12-171-21/+61
| | | | | | | | * generic/tclExecute.c: * generic/tclInt.h: * generic/tclThreadAlloc.c: Fix alignment for memory returned by TclStackAlloc; insure that all memory allocators align to 16-byte boundaries on 64 bit platforms [Bug 1851832, 1851524]
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* * generic/tclInt.decls: move TclByteArrayMatch and TclReToGlobhobbs2007-12-111-2/+2
| | | | | | | | | | | | | * generic/tclIntDecls.h: to tclInt.h from stubs. * generic/tclStubInit.c: Add flags var to TclByteArrayMatch for * generic/tclInt.h: future extensibility * generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch. * doc/StrMatch.3: It is compatible with existing usage. * generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch * generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj): * generic/tclRegexp.c (Tcl_RegExpExecObj): * generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj * tests/string.test (11.9.* 11.10.*): more tests
* * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP):hobbs2007-12-071-8/+4
| | | | | * generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE compile flags at compile time, and use TCL_REG_NOSUB.
* * generic/tclExecute.c (TclExecuteByteCode INST_REGEXP): Usehobbs2007-12-071-2/+5
| | | | TCL_REG_NOSUB as we come here without capture vars.
* INST_EXIST_*: simplify result settingdas2007-11-191-26/+9
|
* Minor fixes (e.g. comment readability)dkf2007-11-181-251/+296
|
* * generic/tclExecute.c (TclExecuteByteCode:INST_EXIST_*): Fix readdas2007-11-171-20/+30
| | | | traces not firing on non-existent array elements. [Bug 1833522]
* move TCL_DTRACE_INST_NEXT after async handlers checkdas2007-11-161-3/+3
|
* Compile [info exists] into bytecode. Includes new instructions to support it.dkf2007-11-141-1/+116
|
* RE: [Patch 1830184] TclResetResultMiguel Sofer2007-11-121-3/+3
| | | | | | THIS PATCH WAS REVERTED: initial (mis)measurements overstated the perfomance wins, which turn out to be tiny. Not worth the complication.
* * generic/tclBasic.c: New macro TclResetResult, new iPtr flagMiguel Sofer2007-11-121-3/+3
| | | | | | | | | * generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for * generic/tclInt.h: Tcl_ResetResult for the "normal" case: * generic/tclProc.c: TCL_OK, no return options, no errorCode * generic/tclResult.c: nor errorInfo, return at normal level. * generic/tclStubLib.c: [Patch 1830184] * generic/tclUtil.c:
* * generic/tclCompCmds.c, generic/tclCompile.c, generic/tclCompile.h:hobbs2007-11-121-1/+34
| | | | | | | | | * generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h: * generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully * generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the * tests/regexpComp.test: [Bug 1830166] simple cases. Also added TclReToGlob function to convert RE to glob patterns and use these in the possible cases.
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-30/+29
| | | | objTypes.
* * generic/tclExecute.c: fast path for INST_LIST_INDEX when theMiguel Sofer2007-11-101-7/+20
| | | | index is not a list.
* * generic/tclAsync.c:Miguel Sofer2007-11-091-2/+2
| | | | | | | | | | | * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclInt.h: * generic/tclUnixInit.c: * generic/tclUnixPort.h: new fields in interp (ekeko!) to cache TSD data that is accessed at each command invocation, access macros to replace Tcl_AsyncReady and TclpCheckStackSpace by much faster variants [Patch 1829248]
* * generic/tclInt.decls, generic/tclIntDecls.h: Use unsigned char forhobbs2007-11-091-5/+3
| | | | | | * generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch and don't allow a nocase option. [Bug 1828296] For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case.
* fix (unsigned char*) vs. (char*) warningsdas2007-11-081-3/+3
|
* * generic/tclStubInit.c:hobbs2007-11-081-1/+10
| | | | | | | * generic/tclInt.decls, generic/tclIntDecls.h: added TclByteArrayMatch * generic/tclUtil.c (TclByteArrayMatch): for efficient glob * generic/tclExecute.c (TclExecuteByteCode): matching of ByteArray Tcl_Objs, used in INST_STR_MATCH. [Bug 1827996]
* * generic/tclCompile.c: Fix comments.Miguel Sofer2007-10-201-2/+2
| | | | * generic/tclExecute.c:
* * generic/tclCompExpr.c: Moved a misplaced declaration that blockedKevin B Kenny2007-10-171-5/+9
| | | | | | compilation on VC++. * generic/tclExecute.c: Silenced several VC++ compiler warnings about converting 'long' to 'unsigned short'.
* Minor cleanup of NULL usagedkf2007-09-171-13/+16
|
* * generic/tclDTrace.d (new file): add DTrace provider for Tcl; allowsdas2007-09-131-1/+31
| | | | | | | | | | | | | | | | | | * generic/tclCompile.h: tracing of proc and command entry & * generic/tclBasic.c: return, bytecode execution, object * generic/tclExecute.c: allocation and more; with essentially * generic/tclInt.h: zero cost when tracing is inactive; * generic/tclObj.c: enable with --enable-dtrace configure * generic/tclProc.c: arg (disabled by default, will only * unix/Makefile.in: enable if DTrace is present). * unix/configure.in: [Patch 1793984] * macosx/GNUmakefile: enable DTrace support. * macosx/Tcl-Common.xcconfig: * macosx/Tcl.xcodeproj/project.pbxproj: * unix/configure: autoconf-2.59 * unix/tclConfig.h.in: autoheader-2.59
* * generic/tclCompCmds.c (TclCompileDictCmd-update):Miguel Sofer2007-09-111-2/+2
| | | | | | * generic/tclCompile.c (tclInstructionTable): * generic/tclExecute.c (INST_DICT_UPDATE_END): fix stack management in [dict update] [Bug 1786481].
* * generic/tclExecute.c: Corrected an off-by-one error in theKevin B Kenny2007-09-111-3/+25
| | | | | setting of MaxBaseWide for certain powers. [Bug 1767293 - problem reported in comments when bug was reopened].
* * generic/tclCompile.c: fix tclInstructionTable entry forMiguel Sofer2007-09-101-8/+1
| | | | | | | dictUpdateEnd * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable before jumping to checkForCatch.
* * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from thedgp2007-09-091-11/+2
| | | | | | | | | | | | | | | | | | | * generic/tclNamesp.c: registered set. Revised the management of * generic/tclObj.c: the intrep of that Tcl_ObjType. Revised the * tests/obj.test: TclGetNamespaceFromObj() routine to return TCL_ERROR and write a consistent error message when a namespace is not found. [Bug 1588842. Patch 1686862] ***POTENTIAL INCOMPATIBILITY*** For callers of Tcl_GetObjType() on the name "nsName". * generic/tclExecute.c: Update TclGetNamespaceFromObj() callers. * generic/tclProc.c: * tests/apply.test: Updated tests to expect new consistent * tests/namespace-old.test: error message when a namespace is not * tests/namespace.test: found. * tests/upvar.test:
* * generic/tclCompCmds.c: Use the new INST_REVERSE instructiondgp2007-09-091-1/+17
| | | | | | | | | * tests/mathop.test: to correct the compiled versions of math operator commands. [Bug 1724437]. * generic/tclCompile.c: New bytecode instruction INST_REVERSE to * generic/tclCompile.h: reverse the order of N items at the top of * generic/tclExecute.c: stack.
* Fix [Bug 1786481]dkf2007-09-081-1/+4
|
* * generic/tclBasic.c: Removed support for the unmaintaineddgp2007-09-051-17/+1
| | | | | * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug 1264623] * unix/Makefile.in:
* fix warnings about 64bit signed vs unsigned comparisondas2007-09-031-3/+3
|
* * generic/tclCompile.c: Added fflush() calls following all callers ofdgp2007-08-301-1/+2
| | | | | | * generic/tclExecute.c: TclPrintByteCodeObj() so that tcl_traceCompile output is less likely to get mangled when writes to stdout interleave with other code.
* * generic/tclCompExpr.c: Call TclCompileSyntaxError() whendgp2007-08-271-69/+11
| | | | | | | | | | | | | | | | expression syntax errors are found when compiling expressions. With this in place, convert TclCompileExpr to return void, since there's no longer any need to report TCL_ERROR. * generic/tclCompile.c: Update callers. * generic/tclExecute.c: * generic/tclCompCmds.c: New routine TclCompileSyntaxError() * generic/tclCompile.h: to directly compile bytecodes that report a * generic/tclCompile.c: syntax error, rather than (ab)use a call to TclCompileReturnCmd. Also, undo the most recent commit that papered over some issues with that (ab)use. New routine produces a new opcode INST_SYNTAX, which is a minor variation of INST_RETURN_IMM. Also a bit of constification.
* * generic/tclCompile.c: Move the deallocation of local LiteralTabledgp2007-08-271-11/+1
| | | | | * generic/tclCompExpr.c: entries into TclFreeCompileEnv(). * generic/tclExecute.c: Update callers.
* fix warnings about signed vs unsigned comparison (type of sizeof() is size_t ↵das2007-08-271-7/+7
| | | | i.e. unsigned!)
* * generic/tclExecute.c (TclExecuteByteCode): Added code to handleKevin B Kenny2007-08-251-3/+425
| | | | | | | * tests/expr.test (expr-23.48-53) integer exponentiation that results in 32- and 64-bit integer results, avoiding calls to wide integer exponentiation routines in this common case. [Bug 1767293]
* * generic/tclExecute.c (TEBC): disable the new shortcut to frequentMiguel Sofer2007-08-221-3/+1
| | | | INSTs for debug builds. REVERTED (collision with alternative fix)
* Missing init in ParseExpr().dgp2007-08-221-3/+1
| | | | Label needs debug build exposure in TEBC.