summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2015-11-09 23:46:04 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2015-11-09 23:46:04 (GMT)
commit3bb1acec4f3ccba9afa630dad8ab88c4ad23879a (patch)
tree778762529c81d89197651b722d8239fc02c67314
parentec7745ee1b6d350ec0826f8fc215fcc05e97b488 (diff)
downloadtcl-3bb1acec4f3ccba9afa630dad8ab88c4ad23879a.zip
tcl-3bb1acec4f3ccba9afa630dad8ab88c4ad23879a.tar.gz
tcl-3bb1acec4f3ccba9afa630dad8ab88c4ad23879a.tar.bz2
enable Optimize_1: same strange seggie in init as without it
-rw-r--r--generic/tclOptimize.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclOptimize.c b/generic/tclOptimize.c
index 9ab6866..d77e827 100644
--- a/generic/tclOptimize.c
+++ b/generic/tclOptimize.c
@@ -179,7 +179,7 @@ TclOptimizeBytecode(
* from path computations. */
/* TODO: there MUST be a more efficient approach than relaxation */
- //Optimize_1(envPtr, padPtr);
+ Optimize_1(envPtr, padPtr);
/* Finally remove all nops and unreachable code, reduce code size */
CompactCode(envPtr, padPtr, 1);
@@ -994,10 +994,12 @@ MoveUnreachable(
curr = (envPtr->codeNext - envPtr->codeStart);
inst = INST_AT_PC(pc);
- fixend = (nextpc >= codeSize)? 0 : PATHS[nextpc];
NEW[pc] = curr;
INST_AT_PC(curr) = INST_AT_PC(pc);
+ /* jump back iff next inst is reachable */
+ fixend = (nextpc >= codeSize)? 0 : PATHS[nextpc];
+
switch (inst) {
/*
* There are no 1-jumps to consider.