diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2015-11-09 23:46:04 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2015-11-09 23:46:04 (GMT) |
commit | 3bb1acec4f3ccba9afa630dad8ab88c4ad23879a (patch) | |
tree | 778762529c81d89197651b722d8239fc02c67314 | |
parent | ec7745ee1b6d350ec0826f8fc215fcc05e97b488 (diff) | |
download | tcl-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.c | 6 |
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. |