diff options
| author | andreask@activestate.com <andreas_kupries> | 2008-07-22 21:41:10 (GMT) |
|---|---|---|
| committer | andreask@activestate.com <andreas_kupries> | 2008-07-22 21:41:10 (GMT) |
| commit | 06b8667f334c8f00a246727aad15ec9ac19c00cb (patch) | |
| tree | 75818190d610cf0a24cef9ff5ccfa0384c131e8c /generic/tclExecute.c | |
| parent | 2149461a6e478b4f399f6540e2e05e8411b39392 (diff) | |
| download | tcl-06b8667f334c8f00a246727aad15ec9ac19c00cb.zip tcl-06b8667f334c8f00a246727aad15ec9ac19c00cb.tar.gz tcl-06b8667f334c8f00a246727aad15ec9ac19c00cb.tar.bz2 | |
* generic/tclBasic.c: Reworked the handling of bytecode literals
* 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].
Diffstat (limited to 'generic/tclExecute.c')
| -rw-r--r-- | generic/tclExecute.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 0003fb2..7866a7c 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.1 2008/04/08 16:12:02 dgp Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.369.2.2 2008/07/22 21:41:13 andreas_kupries Exp $ */ #include "tclInt.h" @@ -1753,6 +1753,8 @@ TclExecuteByteCode( bcFramePtr->cmd.str.cmd = NULL; bcFramePtr->cmd.str.len = 0; + TclArgumentBCEnter((Tcl_Interp*) iPtr,codePtr,bcFramePtr); + #ifdef TCL_COMPILE_DEBUG if (tclTraceExec >= 2) { PrintByteCodeInfo(codePtr); @@ -7389,6 +7391,8 @@ TclExecuteByteCode( } } + TclArgumentBCRelease((Tcl_Interp*) iPtr,codePtr); + /* * Restore the stack to the state it had previous to this bytecode. */ |
