summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclExecute.c (TclExecuteByteCode): When anmdejong2003-02-061-1/+2
| | | | | | | | | | | | | error is encountered reading the increment value during a compiled call to incr, add a "(reading increment)" error string to the errorInfo variable. This makes the errorInfo variable set by the compiled incr command match the value set by the non-compiled version. * tests/incr-old.test: Change errorInfo result for the compiled incr command case to match the modified implementation. * tests/incr.test: Add tests to make sure the compiled and non-compiled errorInfo messages are the same.
* * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macrodgp2003-01-081-2/+2
| | | | for greater clarity of code.
* * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMPhobbs2002-11-121-10/+19
| | | | | to use memcmp in the one-byte/char case, also use direct index for INST_STR_INDEX in that case.
* Removing more CONST-related warnings.dkf2002-09-241-11/+12
|
* * generic/tclExecute.c: bugfix (reading freed memory). TestsuiteMiguel Sofer2002-08-011-22/+18
| | | | passed on linux/i386, compile-13.1 hung on linux/alpha.
* * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects,Miguel Sofer2002-08-011-19/+73
|
* Comment formatting fixesdkf2002-07-311-46/+46
|
* * generic/tclExecute.c: fixed Tcl_Obj leak in code correspondingMiguel Sofer2002-07-271-2/+2
| | | | to the macro NEXT_INST_V(x, 0, 1) [Bug 587495].
* * generic/tclExecute.c:Miguel Sofer2002-07-261-6/+55
| | | | | * tests/expr-old.test: fix for erroneous error messages in [expr], [Bug 587140] reported by Martin Lemburg.
* * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUGMiguel Sofer2002-07-241-239/+117
| | | | functionality.
* * generic/tclExecute.c: restoring the tcl_traceCompile functionalityMiguel Sofer2002-07-241-1/+7
| | | | | | while I repair tcl_traceExec. The core now compiles and runs also under TCL_COMPILE_DEBUG, but execution in the bytecode engine can still not be traced.
* Allowed parser to recognise 'Inf' as a floating-point number. [Bug 218000]dkf2002-07-221-2/+19
| | | | Also produce better error messages when this happens.
* Global symbols are now all either prefixed with 'tcl' (or 'Tcl' or ...) or ↵dkf2002-07-191-7/+6
| | | | have file-scope.
* Minor changes to make things build with SunPro CC...dkf2002-07-171-2/+6
|
* variable access optimisationsMiguel Sofer2002-07-171-240/+410
|
* using the new variable name caching possibilities when setting errorMiguel Sofer2002-07-161-1/+9
| | | | results in (Tcl_AddObjErrorInfo) and (TclUpdateReturnInfo)
* Fix for bug 579284; registered math funcs can now correctly return wide-ints.dkf2002-07-101-4/+8
|
* * generic/tclExecute.c (TclCompEvalObj): clarified and simplified theMiguel Sofer2002-06-201-49/+39
| | | | logic for compilation/recompilation.
* Added parens for claritydgp2002-06-201-2/+2
|
* generic/tclExecute.c (TEBC): removing unused "for(;;)" loop; improvedMiguel Sofer2002-06-191-2581/+2562
| | | | comments; re-indentation.
* * generic/tclExecute.c (TEBC): elimination of duplicated code in theMiguel Sofer2002-06-181-545/+416
| | | | | | non-immediate INST_INCR instructions; elimination of 103 (!) TclDecrRefCount macros. The different instructions now jump back to a common "DecrRefCount zone" at the topof the loop.
* generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic codeMiguel Sofer2002-06-181-1/+2
| | | | for tcl-stack corruption.
* * doc/CrtTrace.3: Added TIP#62 implementation of commandhobbs2002-06-171-3/+10
| | | | | | | | | | | | | | | * doc/trace.n: execution tracing [FR #462580] (lavana). * generic/tcl.h: This includes enter/leave tracing as well * generic/tclBasic.c: as inter-procedure stepping. * generic/tclCmdMZ.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclVar.c: * tests/trace.test:
* bug in the consolidation of the INCR_..._STK instructionsMiguel Sofer2002-06-161-2/+3
|
* runtime peep-hole optimisation of variables (INST_STORE, INST_INCR)Miguel Sofer2002-06-141-10/+45
| | | | and commands (INST_INVOKE); faster check for the existence of a catch.
* runtime peep-hole optimisation of comparisons.Miguel Sofer2002-06-141-17/+43
|
* BC-engine: runtime peep-hole optimisation of INST_FOREACHMiguel Sofer2002-06-141-10/+21
|
* consolidated code for the conditional branch instructions.Miguel Sofer2002-06-131-53/+34
|
* fixed the previous patch - wouldn't compile with TCL_COMPILE_DEBUG set.Miguel Sofer2002-06-131-13/+13
|
* TclExecuteByteCode: consolidated exception handling of INST_INVOKE,Miguel Sofer2002-06-131-201/+260
| | | | INST_EVAL, INST_BREAK and INST_CONTINUE.
* consolidated opcodes in the bytecode engine, eliminating duplicatedMiguel Sofer2002-06-131-474/+200
| | | | | code. Added the new (but pre-existent in tcl.h) possible flag bit TCL_TRACE_READS to Tcl_(Obj)?SetVar.*
* generic/tclExecute.c: optimised algorithm for exception range lookupMiguel Sofer2002-06-111-15/+24
|
* Cleaned up inclusion of float.h; that's really tcl<platform>Port.h's jobdkf2002-06-071-25/+38
|
* reverting an accidental modification in the last commit.Miguel Sofer2002-06-031-61/+1
|
* clarify the empty variable name issue ([Bug 549285])Miguel Sofer2002-06-031-1/+61
|
* * Removed internal routinedgp2002-05-311-61/+1
| | | | | | | | TclMathInProgress and Unix implementation of matherr(). These are now obsolete, dealing with very old versions of the C math library. Windows version is retained in case Borland compilers require it, but it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635].
* * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP):hobbs2002-05-301-6/+6
| | | | | | | * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing the Tcl_UniCharNcmp compare to when both objs are of StringType, as benchmarks show that is the optimal check (both bigendian and littleendian systems).
* Made Tcl_UniCharNcmp faster on big-endian machines; the system memcmp()isdkf2002-05-291-2/+2
| | | | | probably optimized far in excess of anything we could do! Little-endian just use the old code...
* * generic/tclInt.decls:hobbs2002-05-291-32/+59
| | | | | | | | | | | | | | | | | | | | | | | * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclUtf.c: added TclpUtfNcmp2 private command that mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This provides a faster alternative for comparing utf strings internally. (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of string check as it wasn't correct for the function (by doc and logic). * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal comparison code to use TclpUtfNcmp2 as well as short-circuit for equal objects or unequal length strings in the equal case. Removed the use of goto and streamlined the other parts. * generic/tclExecute.c (TclExecuteByteCode): added check for object equality in the comparison instructions. Added short-circuit for != length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with no utf bytes.
* fix for [Bug #542588], where "too large integers" were reported asMiguel Sofer2002-04-181-12/+20
| | | | "floating-point value" in [expr] error messages.
* made bytecodes check for a catch before returning; the compiled [return] is ↵Miguel Sofer2002-04-151-10/+12
| | | | otherwise non-catchable. [Bug 542588]
* * Corrected problems with Tcl_AllowExceptionsdgp2002-03-291-30/+16
| | | | | having influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181]
* fixed the errorInfo for return codes other than (TCL_OK, TCL_ERROR) toMiguel Sofer2002-03-221-62/+4
| | | | | runLevel 0 [Bug 533758]. Removed the static RecordTracebackInfo(), as its functionality is easily replicated by Tcl_LogCommandInfo.
* Replaced a few direct stack accesses with the POP_OBJECT() macro [Bug 507181]Miguel Sofer2002-02-281-15/+13
|
* * tclExecute.c:andreas_kupries2002-02-151-2/+2
| | | | | | | * tclIOGT.c: * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable under Windows again. The changes are not complete, there is one nasty regarding _stati64
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-151-357/+942
| | | | | This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode.
* * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correcthobbs2002-01-291-3/+3
| | | | possibly dangerous decr in macro call.
* small change in bytecode instructionsINST_LIST_INDEX_MULTI and INST_LSET_FLATMiguel Sofer2001-12-111-11/+16
|
* fix debug messages in INST_LSET_LIST.Miguel Sofer2001-12-111-3/+3
|
* fixed the calculation of the maximal stack depth required by bytecodes [Bug ↵Miguel Sofer2001-12-101-11/+9
| | | | 483611].