diff options
author | andreas_kupries <akupries@shaw.ca> | 2010-11-15 21:32:30 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2010-11-15 21:32:30 (GMT) |
commit | 94b169466ea295a3f47a309b1285f47958c2323e (patch) | |
tree | dfa2a2b2b39b6e11b2a3f366d93819a4227c8939 /generic/tclExecute.c | |
parent | 9544dc11316230740f6e007f3be2888590f4d688 (diff) | |
download | tcl-94b169466ea295a3f47a309b1285f47958c2323e.zip tcl-94b169466ea295a3f47a309b1285f47958c2323e.tar.gz tcl-94b169466ea295a3f47a309b1285f47958c2323e.tar.bz2 |
* doc/interp.n: [3081184] TIP #378.
* doc/tclvars.n: Performance fix for TIP #280.
* generic/tclBasic.c:
* generic/tclExecute.c:
* generic/tclInt.h:
* generic/tclInterp.c:
* tests/info.test:
* tests/interp.test:
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index d70fcba..2f38758 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.369.2.18 2010/10/09 16:31:28 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.369.2.19 2010/11/15 21:32:31 andreas_kupries Exp $ */ #include "tclInt.h" @@ -2412,14 +2412,18 @@ TclExecuteByteCode( bcFramePtr->data.tebc.pc = (char *) pc; iPtr->cmdFramePtr = bcFramePtr; - TclArgumentBCEnter((Tcl_Interp*) iPtr, objv, objc, - codePtr, bcFramePtr, pc - codePtr->codeStart); + if (iPtr->flags & INTERP_DEBUG_FRAME) { + TclArgumentBCEnter((Tcl_Interp *) iPtr, objv, objc, + codePtr, bcFramePtr, pc - codePtr->codeStart); + } DECACHE_STACK_INFO(); result = TclEvalObjvInternal(interp, objc, objv, /* call from TEBC */(char *) -1, -1, 0); CACHE_STACK_INFO(); - TclArgumentBCRelease((Tcl_Interp*) iPtr, objv, objc, - codePtr, pc - codePtr->codeStart); + if (iPtr->flags & INTERP_DEBUG_FRAME) { + TclArgumentBCRelease((Tcl_Interp *) iPtr, objv, objc, + codePtr, pc - codePtr->codeStart); + } iPtr->cmdFramePtr = iPtr->cmdFramePtr->nextPtr; if (result == TCL_OK) { |