summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclBasic.c: slight cleanupMiguel Sofer2008-08-091-44/+55
| | | | | * generic/tclCompile.h: * generic/tclExecute.c:
* fix warningsdas2008-08-091-17/+18
|
* generic/tclExecute.c formatting only: remove spaces at the end of a every ↵nijtmans2008-08-071-53/+53
| | | | | | | | | | | | | | | line generic/tclConfig.c make the internal cfg variable const. generic/tclTrace.c add a "const" keyword, allowing the "traceSubCmds[]" array to be placed by the C- compiler in a code segment in stead of a data segment Those harmless changes are as a preparation for a future change proposal. Unfortunately, my (Eclipse) editor automatically removes spaces at the end of every line. Creating a patch for this proposal should not contain unrelated harmless changes, so therefore this separate check-in. No change in functionality. No risk.
* small modif of last commitMiguel Sofer2008-08-071-10/+7
|
* * generic/tclBasic.c: Fix tailcalls falling out of tebc intoMiguel Sofer2008-08-071-9/+7
| | | | | * generic/tclExecute.c: Tcl_EvalEx [Bug 2017946] * generic/tclInt.h:
* * generic/tclExecute.c: Fix for [Bug 2038069] by dgp.Miguel Sofer2008-08-051-2/+3
| | | | * tests/execute.test:
* fix "bad stack top" bug in last commitMiguel Sofer2008-08-041-1/+5
|
* duh ... committed only the ChangeLog entry, not the restMiguel Sofer2008-08-041-21/+39
|
* * generic/tclExecute.c: Stopped faulty double-logging of errors todgp2008-08-041-1/+11
| | | | | | * tests/execute.test: stack trace when a compile epoch bump triggers fallback to direct evaluation of commands in a compiled script. [Bug 2037338]
* * generic/tclBasic.c: new unsupported command atProcExitMiguel Sofer2008-08-031-46/+146
| | | | | | | | | * generic/tclCompile.h: that shares the implementation with * generic/tclExecute.c: tailcall. Fixed a segfault in * generic/tclInt.h: tailcalls. Tests added. * generic/tclInterp.c: * generic/tclNamesp.c: * tests/unsupported.test:
* Dumped tclNRE.h's contents into tclInt.h. The file is now empty andMiguel Sofer2008-07-311-5/+9
| | | | | | unrefernced everywhere but in macosx/Tcl.xcodeproj/project.pbxproj: some knowledgeable maintainer please remove tclNRE.h after making sure it doesn't break the build on macosx
* restricting usage and avoiding panics in [tailcall]Miguel Sofer2008-07-311-17/+9
|
* * generic/tclBasic.c: Improved tailcalls and tests.Miguel Sofer2008-07-311-36/+55
| | | | | | | * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclTest.c: * tests/NRE.test:
* a timid start at cleaning upMiguel Sofer2008-07-291-23/+2
|
* * generic/tclExecute.c: fix [Bug 2030670] that causeMiguel Sofer2008-07-291-5/+6
| | | | | TclStackRealloc to panic on rare corner cases. Thx ajpasadyn for diagnose and patch.
* Completely revamped NRE implementation, with (almost) unchanged API.Miguel Sofer2008-07-291-254/+137
|
* * generic/tclBasic.c: Reworked the handling of bytecode literalsandreas_kupries2008-07-221-1/+6
| | | | | | | | | | * generic/tclCompile.c: for #280 to fix the abysmal performance * generic/tclCompile.h: for deep recursion, replaced the linear * generic/tclExecute.c: search through the whole stack with * generic/tclInt.h: another hashtable and simplified the data structure used by the compiler (array instead of hashtable). Incidentially this also fixes the memory leak reported via [Bug 2024937].
* * generic/tclBasic.c: Added numLevels field to CommandFrame,Miguel Sofer2008-07-221-1/+2
| | | | | * generic/tclExecute.c: let GetCommandSource use it. This solves * generic/tclInt.h: [Bug 2017146]. Thx dgp for the analysis.
* use TclEvalObjv instead of Tcl_EvalObjv at selected spotsMiguel Sofer2008-07-211-4/+4
|
* * generic/tcl.decls: Changed the implementation ofMiguel Sofer2008-07-211-1/+6
| | | | | | | | | | * generic/tclBasic.c: [namespace import]; removed * generic/tclDecls.h: Tcl_NRObjProc, replaced with * generic/tclExecute.c: Tcl_NRCmdSwap (proposed public * generic/tclInt.h: NRE API). This should fix * generic/tclNRE.h: [Bug 582506]. * generic/tclNamesp.c: * generic/tclStubInit.c:
* * generic/tclBasic.c: NRE: enabled calling NR commandsMiguel Sofer2008-07-211-126/+113
| | | | | | | | * generic/tclExecute.c: from the callbacks. Completely * generic/tclInt.h: redone tailcall implementation * generic/tclNRE.h: using the new feature. * generic/tclProc.c: * tests/NRE.test:
* new TclNRAddCallback macro for internal use instead of the publicMiguel Sofer2008-07-181-2/+2
| | | | Tcl_NRAddCallback
* * generic/tcl.decls: Change the public api prefix fromMiguel Sofer2008-07-181-3/+3
| | | | | | | | | | | | | | | | | * generic/tcl.h: TclNR_foo to Tcl_NRfoo * generic/tclBasic.c: * generic/tclDecls.h: * generic/tclDictObj.c: * generic/tclExecute.c: * generic/tclInterp.c: * generic/tclNRE.h: * generic/tclNamesp.c: * generic/tclOO.c: * generic/tclOOBasic.c: * generic/tclOOCall.c: * generic/tclOOMethod.c: * generic/tclProc.c: * generic/tclStubInit.c:
* * generic/tclExecute.c: Remove unneeded TclInterpReady callMiguel Sofer2008-07-141-12/+1
|
* * generic/tclBasic.c.: Embedded Tcl_Canceled() calls intoMiguel Sofer2008-07-141-5/+1
| | | | | * generic/tclExecute.c: TclInterpReady(). * generic/tclParse.c:
* * generic/tclBasic.c.: NRE left too many calls toMiguel Sofer2008-07-141-3/+1
| | | | | | * generic/tclExecute.c: TclResetCancellation lying around: it * generic/tclProc.c: only needs to be called prior to any iPtr->numLevels++. Thanks mistachkin.
* silence compiler warnings about uninited variables (gcc can't follow the logic)Miguel Sofer2008-07-131-4/+6
|
* NRE implementation [Patch 2017110]Miguel Sofer2008-07-131-202/+560
|
* formatting, whitespacedas2008-06-301-75/+73
|
* Avoid useless String conversion for CONCAT1 of pure byte arrays [Patch 1953758].ferrieux2008-06-291-1/+57
|
* TIP 285 ImplementationJoe Mistachkin2008-06-131-5/+38
|
* * generic/tclBasic.c: Compilation of uplevel scripts, allowMiguel Sofer2008-06-081-3/+18
| | | | | | | | | * generic/tclCompCmds.c: non-body compiled scripts to access the * generic/tclCompile.c: LVT (but not to extend it) and enable the * generic/tclCompile.h: canonical list opt to sidestep the * generic/tclExecute.c: compiler. This is [Patch 1973096] * generic/tclProc.c: * tests/uplevel.test:
* Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-3/+3
|
* * generic/tclExecute.c: added comments to the alignment macrosMiguel Sofer2008-04-081-5/+18
| | | | used in GrowEvaluationStack() and friends.
* 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.