diff options
author | mig <mig> | 2012-02-06 16:43:46 (GMT) |
---|---|---|
committer | mig <mig> | 2012-02-06 16:43:46 (GMT) |
commit | 3726e1f19cfa86bd6348c60bc1b600512748db4f (patch) | |
tree | 13aebbdee5531d588f3da83aea837ff321dba2af /generic/tclTrace.c | |
parent | f6491ee624f67b79e27052355b92065d83cf48ec (diff) | |
download | tcl-3726e1f19cfa86bd6348c60bc1b600512748db4f.zip tcl-3726e1f19cfa86bd6348c60bc1b600512748db4f.tar.gz tcl-3726e1f19cfa86bd6348c60bc1b600512748db4f.tar.bz2 |
Fix for [Bug 3484621]: insure that execution traces on bytecoded commands
bump the interp's compile epoch.
Diffstat (limited to 'generic/tclTrace.c')
-rw-r--r-- | generic/tclTrace.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/generic/tclTrace.c b/generic/tclTrace.c index 28e6934..ad81c58 100644 --- a/generic/tclTrace.c +++ b/generic/tclTrace.c @@ -1124,6 +1124,16 @@ Tcl_TraceCommand( if (tracePtr->flags & TCL_TRACE_ANY_EXEC) { cmdPtr->flags |= CMD_HAS_EXEC_TRACES; } + + /* + * Bug 3484621: up the interp's epoch if this is a BC'ed command + */ + + if (cmdPtr->compileProc != NULL) { + Interp *iPtr = (Interp *) interp; + iPtr->compileEpoch++; + } + return TCL_OK; } @@ -1226,6 +1236,15 @@ Tcl_UntraceCommand( */ cmdPtr->flags &= ~CMD_HAS_EXEC_TRACES; + + /* + * Bug 3484621: up the interp's epoch if this is a BC'ed command + */ + + if (cmdPtr->compileProc != NULL) { + Interp *iPtr = (Interp *) interp; + iPtr->compileEpoch++; + } } } |