summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2019-05-16 18:19:25 (GMT)
committersebres <sebres@users.sourceforge.net>2019-05-16 18:19:25 (GMT)
commit1f5c7c693b88225d758e750677764203458dd26a (patch)
tree63a61cb6276a37fb4b4249ce45ae60aaf6743519 /generic/tclCmdMZ.c
parent8af3fb7317d53796f74a0cda158ecbe8e4fa1013 (diff)
parent2865a8da13749af3807ff9ea42c079f8c6c73133 (diff)
downloadtcl-1f5c7c693b88225d758e750677764203458dd26a.zip
tcl-1f5c7c693b88225d758e750677764203458dd26a.tar.gz
tcl-1f5c7c693b88225d758e750677764203458dd26a.tar.bz2
merge 8.5
Diffstat (limited to 'generic/tclCmdMZ.c')
-rw-r--r--generic/tclCmdMZ.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c
index e58d026..1358d06 100644
--- a/generic/tclCmdMZ.c
+++ b/generic/tclCmdMZ.c
@@ -4328,6 +4328,7 @@ Tcl_TimeRateObjCmd(
};
NRE_callback *rootPtr;
ByteCode *codePtr = NULL;
+ int codeOptimized = 0;
for (i = 1; i < objc - 1; i++) {
int index;
@@ -4519,6 +4520,7 @@ Tcl_TimeRateObjCmd(
*/
if (codePtr->codeStart[codePtr->numCodeBytes-1] == INST_DONE) {
codePtr->codeStart[codePtr->numCodeBytes-1] = INST_CONTINUE;
+ codeOptimized = 1;
}
}
@@ -4810,6 +4812,11 @@ Tcl_TimeRateObjCmd(
done:
if (codePtr != NULL) {
+ if ( codeOptimized
+ && codePtr->codeStart[codePtr->numCodeBytes-1] == INST_CONTINUE
+ ) {
+ codePtr->codeStart[codePtr->numCodeBytes-1] = INST_DONE;
+ }
TclReleaseByteCode(codePtr);
}
return result;