summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclDTrace.d (new file): add DTrace provider for Tcl; allowsdas2007-09-137-22/+561
| | | | | | | | | | | | | | | | | | * 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/tclCmdIL.c: factor our core of InfoFrameCmd() into internaldas2007-09-131-14/+41
| | | | TclInfoFrame() for use by DTrace probes.
* * doc/package.n: Restored the functioning ofdgp2007-09-111-188/+57
| | | | | * generic/tclPkg.c: [package require -exact] to be compatible * tests/pkg.test: with Tcl 8.4. [Bug 1578344].
* * generic/tclCompCmds.c (TclCompileDictCmd-update):Miguel Sofer2007-09-113-21/+37
| | | | | | * 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/tclLink.c (Tcl_UpdateLinkedVar): guard against var beinghobbs2007-09-101-2/+9
| | | | unlinked. [Bug 1740631] (maros)
* * generic/tclCompile.c: fix tclInstructionTable entry forMiguel Sofer2007-09-102-10/+3
| | | | | | | dictUpdateEnd * generic/tclExecute.c: remove unneeded setting of 'cleanup' variable before jumping to checkForCatch.
* * doc/package.n: Restored the document parallel syntax of thedgp2007-09-101-55/+35
| | | | | * generic/tclPkg.c: [package present] and [package require] * tests/pkg.test: commands. [Bug 1723675]
* Minor cleanup of RE compiler code, gradually gradually making it more Tcl-ish.dkf2007-09-103-344/+332
|
* * generic/tclInt.h: Removed the "nsName" Tcl_ObjType from thedgp2007-09-095-242/+112
| | | | | | | | | | | | | | | | | | | * 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:
* Correct stack effect value in table.dgp2007-09-091-2/+2
|
* * generic/tclCompCmds.c: Use the new INST_REVERSE instructiondgp2007-09-094-63/+74
| | | | | | | | | * 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.
* * generic/tclCompCmds.c (TclCompilePowOpCmd): Make a separatedgp2007-09-091-7/+16
| | | | routine to compile ** to account for its different associativity.
* * generic/tclVar.c (Tcl_SetVar2, TclPtrSetVar): [Bug 1710710]Miguel Sofer2007-09-081-7/+4
| | | | fixed correctly, reverted fix of 2007-05-01.
* Fix [Bug 1786481]dkf2007-09-082-2/+20
|
* * generic/tclEvent.c ([::tcl::Bgerror]): Corrections to Tcl'sdgp2007-09-071-13/+27
| | | | | | * tests/event.test: default [interp bgerror] handler so that when it falls back to a hidden [bgerror] in a safe interp, it gets the right error context data. [Bug 1790274].
* * generic/tclProc.c (TclInitCompiledLocals): the refCount ofMiguel Sofer2007-09-071-2/+4
| | | | | resolved variables was being managed without checking if they were Var or VarInHash: itcl [Bug 1790184]
* * generic/tclResult.c (Tcl_GetReturnOptions): Take care that adgp2007-09-072-33/+26
| | | | | | | | * tests/init.test: non-TCL_ERROR code doesn't cause existing -errorinfo, -errorcode, and -errorline entries to be omitted. * generic/tclEvent.c: With -errorInfo no longer lost, generate more complete ::errorInfo when calling [bgerror] after a non-TCL_ERROR background exception.
* header cleanupdgp2007-09-071-2/+2
|
* * generic/tclInterp.c (Tcl_Init): Removed constraint on abilitydgp2007-09-061-3/+3
| | | | | to define a custom [tclInit] before calling Tcl_Init(). Until now the custom command had to be a proc. Now it can be any command.
* * generic/tclInt.decls: New internal routine TclBackgroundException()dgp2007-09-068-41/+118
| | | | | | | | | | | | | | | | * generic/tclEvent.c: that for the first time permits non-TCL_ERROR exceptions to trigger [interp bgerror] handling. Closes a gap in TIP 221. When falling back to [bgerror] (which is designed only to handle TCL_ERROR), convert exceptions into errors complaining about the exception. * generic/tclInterp.c: Convert Tcl_BackgroundError() callers to call * generic/tclIO.c: TclBackgroundException(). * generic/tclIOCmd.c: * generic/tclTimer.c: * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c:
* * generic/tclBasic.c: Removed support for the unmaintaineddgp2007-09-052-25/+2
| | | | | * generic/tclExecute.c: -DTCL_GENERIC_ONLY configuration. [Bug 1264623] * unix/Makefile.in:
* * tests/lindex.test (lindex-17.[01]): Added code to detect theKevin B Kenny2007-09-031-2/+9
| | | | | | error when a script does [lindex {} end foo]; an overaggressive optimisation caused this call to return an empty object rather than an error.
* * generic/tclObj.c (TclInitObjSubsystem): restore registration of thedas2007-09-031-2/+35
| | | | | "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that access the tclWideIntType Tcl_ObjType; add setFromAnyProc for tclWideIntType.
* make tclVarHashKeyType definition staticdas2007-09-031-2/+2
|
* fix warnings about 64bit signed vs unsigned comparisondas2007-09-031-3/+3
|
* * generic/tclCompile.c: Added fflush() calls following all callers ofdgp2007-08-302-2/+4
| | | | | | * 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: Use a table lookup in ParseLexeme()dgp2007-08-281-63/+55
| | | | to determine lexemes with single-byte representations.
* * generic/tclBasic.c: Used unions to better clarify overloading ofdgp2007-08-283-38/+66
| | | | | * generic/tclCompExpr.c: the fields of the OpCmdInfo and * generic/tclCompile.h: TclOpCmdClientData structs.
* typodas2007-08-271-2/+3
|
* * generic/tclCompExpr.c: Call TclCompileSyntaxError() whendgp2007-08-275-189/+72
| | | | | | | | | | | | | | | | 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-273-24/+7
| | | | | * generic/tclCompExpr.c: entries into TclFreeCompileEnv(). * generic/tclExecute.c: Update callers.
* * generic/tclCompExpr.c: Force numeric and boolean literalsdgp2007-08-271-7/+26
| | | | | in expressions to register with their intreps intact, even if that means overwriting existing intreps in already registered literals.
* 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/tclCompExpr.c: Register literals found in expressionsdgp2007-08-241-5/+29
| | | | | | * tests/compExpr.test: to restore literal sharing. Preserve numeric intreps when literals are created for the first time. Correct memleak in ExecConstantExprTree() and add test for the leak.
* * generic/tclCompile.c: replaced copy loop that tripped someMiguel Sofer2007-08-241-5/+5
| | | | compilers with memmove [Bug 1780870]
* * generic/tclCompCmds.c (TclCompileReturnCmd): Added crash protectiondgp2007-08-231-2/+29
| | | | | to handle callers other than TclCompileScript() failing to meet the initialization assumptions of the TIP 280 code in CompileWord().
* * generic/tclCompExpr.c: Suppress the attempt to convert todgp2007-08-231-2/+2
| | | | numeric when pre-compiling a constant expresion indicates an error.
* ensure WORDS_BIGENDIAN redefinition is consistent with autoconf definitiondas2007-08-231-2/+2
|
* * 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-222-4/+3
| | | | Label needs debug build exposure in TEBC.
* * generic/tclExecute.c (TEBC): disable the new shortcut to frequentMiguel Sofer2007-08-221-2/+4
| | | | INSTs for debug builds.
* * generic/tclMain.c: Corrected the logic of dropping the lastdgp2007-08-211-17/+27
| | | | | * tests/main.test: newline from an interactively typed command. [Bug 1775878].
* * generic/tclExecute.c (INST_SUB): fix usage of the new macro forMiguel Sofer2007-08-201-3/+10
| | | | | overflow detection in sums, adapt to subtraction. Lenghty comment added.
* Swapped the order in the Overflowing macro (created in the last commit byMiguel Sofer2007-08-191-2/+5
| | | | Donal): check first the condition most likely to fail in its usage by [incr].
* Make Miguel's overflow-detection more mnemonic with a macro.dkf2007-08-191-73/+86
|
* * generic/tclExecute.c: changed the check for overflow in sums,Miguel Sofer2007-08-191-18/+12
| | | | | | | | | | | reducing objsize, number of branches and cache misses (according to cachegrind). Non-overflow for s=a+b: previous ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0)) now (((a^s) >= 0) || ((a^b) < 0)) This expresses: "a and s have the same sign or else a and b have different sign".
* * generic/tclVar.c: improved localVarNameType caching to leverageMiguel Sofer2007-08-171-9/+42
| | | | | the new availability of Tcl_Obj in variable names, avoiding string comparisons to verify that the cached value is usable.
* * generic/tclExecute.c: check the two most frequent instructionsMiguel Sofer2007-08-161-1/+17
| | | | before the switch. Reduces both runtime and obj size a tiny bit.