summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclExecute.c (INST_CONCAT1): Panic when appends overflowdgp2009-03-201-5/+17
| | | | the max length of a Tcl value. [Bug 2669109]
* * generic/tcl.h:Miguel Sofer2009-03-191-132/+13
| | | | | | | | | | | | | | * generic/tclInt.h: * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclNamesp.c (Tcl_PopCallFrame): Rewritten tailcall implementation, ::unsupported::atProcExit is (temporarily?) gone. The new approach is much simpler, and also closer to being correct. This commit fixes [Bug 2649975] and [Bug 2695587]. * tests/coroutine.test: Moved the tests to their own files, * tests/tailcall.test: removed the unsupported.test. Added * tests/unsupported.test: tests for the fixed bugs.
* * generic/tclCmdMZ.c: Since Tcl_GetCharLength() has its owndgp2009-02-251-22/+6
| | | | | * generic/tclExecute.c: optimizations for the tclByteArrayType, stop having the callers do them.
* Const correctness fixes in the debug build.dgp2009-02-141-5/+5
|
* - eliminate some unnessary type castsnijtmans2009-02-101-12/+12
| | | | | - some internal const decorations - spacing
* Fix [Bug 2568434]dkf2009-02-051-2/+6
|
* Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-56/+62
| | | | etc.)
* * generic/tclExecute.c: Disabled apparently faulty assertion.dgp2008-12-181-2/+4
| | | | [Bug 2415422].
* eliminate -Wwrite-strings warnings in enable-threads build.nijtmans2008-12-161-3/+3
| | | | use TclNewLiteralStringObj()
* Re-fix [2431847]ferrieux2008-12-161-5/+2
|
* Fi [Bug 2431847]dkf2008-12-151-2/+5
|
* Style improvements - invoking callbacks without visual junk.dkf2008-10-261-7/+8
|
* * generic/tclCompile.h: Declare the internal tclInstructionTabledgp2008-10-171-3/+3
| | | | | | | | * generic/tclExecute.c: to simply be "const", not CONST86. * generic/tclCmdAH.c: whitespace. * generic/tclCmdIL.c: Uninitialized variable warning. * generic/tclTest.c: const correctness warning.
* Add "const" to many internalnijtmans2008-10-161-27/+27
| | | | | const tables. No functional or API change.
* * generic/tclExecute.c: Fix compile warnings when --enable-symbols=all.dgp2008-10-141-3/+3
| | | | | * generic/tclCmdIL.c: Fix write to unallocated memory whenever [lrepeat] returns an empty list.
* undo "fix warnings from 2008-10-05 constification" (tclExecute.c 1.414), butnijtmans2008-10-071-5/+5
| | | | | in stead modify two macro's in tclCompile.h with the same affect, but now without polluting C-code with type casts.
* fix warnings from 2008-10-05 constificationdas2008-10-071-6/+8
|
* * generic/tclInt.decls: CONSTified the AuxDataType argumentnijtmans2008-10-051-6/+6
| | | | | | | | | | | * generic/tclCompCmds.c: of TclCreateAuxData and * generic/tclCompile.c TclRegisterAuxDataType and the return * generic/tclCompile.h values of TclGetAuxDataType and * generic/tclExecute.c TclGetInstructionTable * ChangeLog * generic/tclIntDecls.h: regenerated This change complies with TIP #27 (even though it only involves internal function, so this is not even necessary).
* * generic/tclExecute.c (NEXT_INST_F):Miguel Sofer2008-09-181-22/+24
| | | | | * generic/tclInt.h (TCL_CT_ASSERT): new compile-time assertions, adapted from www.pixelbeat.org/programming/gcc/static_assert.html
* * tests/nre.test: add missing constraints; enable test of foreachMiguel Sofer2008-09-101-1/+8
| | | | | | | | | recursion. * generic/tclBasic.c: * generic/tclCompile.h: * generic/tclExecute.c (INST_EVAL_STK): fix for [Bug 2102930], wrong numLevels when evaling a canonical list.
* * generic/tclCompile.c (TclCompileTokens):Miguel Sofer2008-09-081-7/+7
| | | | | | | * generic/tclExecute.c (CompileExprObj): fix a perf bug (found by Alex Ferrieux) where some variables in the LVT where not being accessed by index. Fix missing localCache management in compiled expressions found while analyzing the bug.
* * generic/tclExecute.c (CACHE_STACK_INFO):Miguel Sofer2008-09-041-2/+3
| | | | | * tests/unsupported.test: restore the execEnv's bottomPtr, fix for [Bug 2093188].
* * generic/tclBasic.c: Set special errocodes: COROUTINE_BUSY,Miguel Sofer2008-08-231-1/+3
| | | | COROUTINE_CANT_YIELD, COROUTINE_ILLEGAL_YIELD.
* Squelch warningdkf2008-08-201-2/+2
|
* * generic/tclBasic.c: Implementation of [coroutine] and [yield]Miguel Sofer2008-08-171-10/+89
| | | | | | | | * generic/tclCmdAH.c: commands (in tcl::unsupported). * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclInt.h: * tests/unsupported.test:
* fix last commitMiguel Sofer2008-08-161-1/+4
|
* * generic/tclExecute.c: better cmdFrame managementMiguel Sofer2008-08-161-7/+5
|
* * 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: