summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsSZ.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-05-30 10:55:39 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-05-30 10:55:39 (GMT)
commit8430c2dada2e781cff07e2534fb7fbd11dcf1958 (patch)
tree1f1e0ce12bef2b45431f5437e9678245d7fa121e /generic/tclCompCmdsSZ.c
parentf85fd4d0e85bc96fdb38e4d2ea70ea05da1c0530 (diff)
downloadtcl-8430c2dada2e781cff07e2534fb7fbd11dcf1958.zip
tcl-8430c2dada2e781cff07e2534fb7fbd11dcf1958.tar.gz
tcl-8430c2dada2e781cff07e2534fb7fbd11dcf1958.tar.bz2
Working towards the next batch of optimizations.
Diffstat (limited to 'generic/tclCompCmdsSZ.c')
-rw-r--r--generic/tclCompCmdsSZ.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/generic/tclCompCmdsSZ.c b/generic/tclCompCmdsSZ.c
index ed4d962..4f4286e 100644
--- a/generic/tclCompCmdsSZ.c
+++ b/generic/tclCompCmdsSZ.c
@@ -2869,6 +2869,10 @@ TclCompileWhileCmd(
SetLineInformation(2);
bodyCodeOffset = ExceptionRangeStarts(envPtr, range);
+ if (!loopMayEnd) {
+ envPtr->exceptArrayPtr[range].continueOffset = testCodeOffset;
+ envPtr->exceptArrayPtr[range].codeOffset = bodyCodeOffset;
+ }
CompileBody(envPtr, bodyTokenPtr, interp);
ExceptionRangeEnds(envPtr, range);
envPtr->currStackDepth = savedStackDepth + 1;