summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclBinary.c: Removed unused variables.dgp2009-07-161-2/+2
| | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: * generic/tclCompile.c: * generic/tclExecute.c: * generic/tclHash.c: * generic/tclIOUtil.c: * generic/tclVar.c: * generic/tclBasic.c: Silence compiler warnings about ClientData. * generic/tclProc.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
* * generic/tclCompile.c: The value stashed in iPtr->compiledProcPtrdgp2009-06-131-4/+1
| | | | | | | | | | | | | * generic/tclProc.c: when compiling a proc survives too long. We * tests/execute.test: only need it there long enough for the right TclInitCompileEnv() call to re-stash it into envPtr->procPtr. Once that is done, the CompileEnv controls. If we let the value of iPtr->compiledProcPtr linger, though, then any other bytecode compile operation that takes place will also have its CompileEnv initialized with it, and that's not correct. The value is meant to control the compile of the proc body only, not other compile tasks that happen along. Thanks to Carlos Tasada for discovering and reporting the problem. [Bug 2802881].
* Fix [Bug 2673163]dkf2009-03-241-3/+11
|
* - eliminate some unnessary type castsnijtmans2009-02-101-6/+6
| | | | | - some internal const decorations - spacing
* Style fixes (unfouling whitespace, sorting comments, removing useless casts, ↵dkf2009-01-091-12/+13
| | | | etc.)
* TIP #336 IMPLEMENTATIONdgp2008-12-021-4/+4
| | | | | | | | | | | | | | | | | | * generic/tcl.decls: New routines Tcl_(Get|Set)ErrorLine. * generic/tcl.h: Dropped default access to interp->errorLine. * generic/tclCmdAH.c: Restore it with -DUSE_INTERP_ERRORLINE. * generic/tclCmdMZ.c: Updated callers. * generic/tclDictObj.c: * generic/tclIOUtil.c: * generic/tclNamesp.c: * generic/tclOOBasic.c: * generic/tclOODefinedCmds.c: * generic/tclOOMethod.c: * generic/tclProc.c: * generic/tclResult.c: * generic/tclDecls.h: make genstubs * generic/tclStubInit.c:
* CONSTify TclDTraceInfonijtmans2008-10-281-2/+2
| | | | Eliminate some -Wstrings-write warnings
* * generic/tclProc.c: Reset -level and -code values to defaultsdgp2008-10-191-1/+6
| | | | after they are used. [Bug 2152286].
* Add "const" to many internalnijtmans2008-10-151-3/+3
| | | | | | | | const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries.
* * generic/tclCmdAH.c: Fix minor compiler warnings when compilingnijtmans2008-10-141-3/+3
| | | | | | | | * generic/tclCmdMZ.c: with -Wwrite-strings * generic/tclIndexObj.c: * generic/tclProc.c: * generic/tclStubLib.c: * generic/tclUtil.c:
* * generic/tclBasic.c: Removed unused var; fixed functionMiguel Sofer2008-08-231-2/+2
| | | | | | * generic/tclOOInt.h: pointer declarations (why did gcc start * generic/tclOOMethod.c: complaining all of a sudden?) * generic/tclProc.c:
* Added disassembly of TclOO methods.dkf2008-08-211-136/+227
|
* remove overlooked old TCL_DTRACE_PROC_ENTRYdas2008-08-141-9/+1
|
* * generic/tclBasic.c (TclNREvalObjv, Tcl_NRCallObjProc): DTrace probesdas2008-08-141-9/+21
| | | | | | | | | | | | | * generic/tclProc.c (TclNRInterpProcCore, InterpProcNR2): for NRE. [Bug 2017160] * generic/tclBasic.c (TclDTraceInfo): add two extra arguments to * generic/tclCompile.h: DTrace 'info' probes for tclOO * generic/tclDTrace.d: method & class/object info. * generic/tclCompile.h: add support for debug logging of DTrace * generic/tclBasic.c: 'proc', 'cmd' and 'inst' probes (does _not_ require a platform with DTrace).
* * generic/tclProc.c (TclProcCompileProc): On recompile ofdgp2008-08-121-1/+25
| | | | | | a proc, clear away any entries on the CompiledLocal list from the previous compile. This will prevent compile of temporary variables in the proc body from growing the localCache arbitrarily large.
* * generic/tclProc.c (Tcl_ProcObjCmd): Fixed memory leak triggeredandreas_kupries2008-08-111-3/+23
| | | | | | * tests/proc.test: by procbody::test::proc. See [Bug 2043636]. Added a test case demonstrating the leak before the fix. Fixed a few spelling errors in test descriptions as well.
* remove unused varsMiguel Sofer2008-08-101-3/+1
|
* * generic/tclProc.c: completely removed ProcCompileProc, which wasMiguel Sofer2008-08-101-85/+4
| | | | | | a fix for [Bug 1482718]. This is not needed at least since varReform, where the local variable data at runtime is read from the CallFrame and/or the LocalCache.
* duh ... committed only the ChangeLog entry, not the restMiguel Sofer2008-08-041-2/+3
|
* Dumped tclNRE.h's contents into tclInt.h. The file is now empty andMiguel Sofer2008-07-311-2/+1
| | | | | | 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
* Completely revamped NRE implementation, with (almost) unchanged API.Miguel Sofer2008-07-291-88/+9
|
* * tests/info.test: Tests 38.* added, exactly testing the trackingandreas_kupries2008-07-251-2/+2
| | | | | | | | | | | | | | | | | of location for uplevel scripts. Resolved merge conflict on info-37.0, switched !singleTestInterp constraint to glob matching instead. Ditto info-22.8, removed constraint, more glob matching, and reduced the depth of the stack we check. More is coming, right now I want to commit the bug fixes. * tests/oo.test: Updated oo-22.1 for expanded location tracking. * generic/tclCompile.c (TclInitCompileEnv): Reorganized the initialization of the #280 location information to match the flow in TclEvalObjEx to get more absolute contexts. * generic/tclBasic.c (TclEvalObjEx): Added missing cleanup of extended location information.
* * generic/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-2/+10
| | | | | | | | | | | | * generic/tclCmdAH.c: frame), added the ability to track the * generic/tclCompCmds.c: absolute location of literal procedure * generic/tclCompile.c: arguments, and making this information * generic/tclCompile.h: available to uplevel, eval, and * generic/tclInterp.c: siblings. This allows proper tracking of * generic/tclInt.h: absolute location through custom (Tcl-coded) * generic/tclNamesp.c: control structures based on uplevel, etc. * generic/tclProc.c: * tests/info.test:
* * generic/tclBasic.c: NRE: enabled calling NR commandsMiguel Sofer2008-07-211-1/+5
| | | | | | | | * 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:
* fix [2021443] inconsistant "wrong # args" messagesnijtmans2008-07-191-3/+3
|
* new TclNRAddCallback macro for internal use instead of the publicMiguel Sofer2008-07-181-3/+3
| | | | Tcl_NRAddCallback
* * generic/tcl.decls: Change the public api prefix fromMiguel Sofer2008-07-181-12/+12
| | | | | | | | | | | | | | | | | * 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:
* Tidy up code for clarity.dkf2008-07-141-48/+49
|
* Store ClientDatas in NRE callback storage as an array; that's how they aredkf2008-07-141-3/+4
| | | | referred to in callback implementations anyway.
* * 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.
* NRE implementation [Patch 2017110]Miguel Sofer2008-07-131-84/+237
|
* TIP 285 ImplementationJoe Mistachkin2008-06-131-1/+3
|
* * generic/tclBasic.c: Compilation of uplevel scripts, allowMiguel Sofer2008-06-081-2/+2
| | | | | | | | | * 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-23/+23
|
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* RE: [Patch 1830184] TclResetResultMiguel Sofer2007-11-121-2/+1
| | | | | | 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-1/+2
| | | | | | | | | * 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:
* [Patch 1830038]: Increased usage of macros to detect and take advantage of ↵Miguel Sofer2007-11-111-8/+8
| | | | objTypes.
* Add a new command, ::tcl::unsupported::disassembledkf2007-09-251-2/+126
|
* * generic/tclDTrace.d (new file): add DTrace provider for Tcl; allowsdas2007-09-131-6/+48
| | | | | | | | | | | | | | | | | | * 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/tclInt.h: Removed the "nsName" Tcl_ObjType from thedgp2007-09-091-10/+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/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/tclProc.c (TclCreateProc): better comments on theMiguel Sofer2007-08-101-10/+9
| | | | required varflag values when loading precompiled procs.
* * generic/tclProc.c (InitLocalCache): reference firstLocalPtr viahobbs2007-08-081-8/+7
| | | | procPtr. codePtr->procPtr == NULL exposed by tbcload.
* renamed InitCompiledLocals to InitResolvedLocals to make it clearer that itMiguel Sofer2007-08-081-8/+8
| | | | is not called in the normal case.
* * generic/tclInt.h: remove comments refering to VAR_SCALAR, asMiguel Sofer2007-08-081-76/+59
| | | | | | that flag bit does not exist any longer. * generic/tclProc.c (InitCompiledLocals): removed optimisation for non-resolved case, as the function is never called in that case.
* modifs to help itcl adapt to VarReformMiguel Sofer2007-08-041-1/+9
|
* VarReform [Patch 1750051]Miguel Sofer2007-07-311-216/+307
| | | | *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
* * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-201-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them easier for callers to use (or more precisely, harder to misuse). TclStackFree now takes a (void *) argument which is the pointer intended to be freed. TclStackFree will panic if that's not actually the memory the call will free. TSA/TSF also now tolerate receiving (interp == NULL), in which case they simply fall back to be calls to Tcl_Alloc/Tcl_Free. * generic/tclIntDecls.h: make genstubs * generic/tclBasic.c: Updated callers * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclIOCmd.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclProc.c: * generic/tclTrace.c: * unix/tclUnixPipe.c:
* * generic/tclCmdIL.c (InfoFrameCmd):Miguel Sofer2007-06-181-28/+36
| | | | | | | * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * generic/tclCompile.c (TclInitCompileEnv): * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the CmdFrame off the C stack and onto the Tcl stack.