aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2011-01-18 22:17:27 +0100
committerMike Pall <mike>2011-01-18 22:17:27 +0100
commit685dfc317270642fbf2a686799ca2b31ea42e0de (patch)
tree93e83dfb7643dc640d198f048eeec682853b6d58 /src
parent751eff9f97d5055fb3f64405771aeee2f34696c2 (diff)
downloadluajit-685dfc317270642fbf2a686799ca2b31ea42e0de.tar.gz
luajit-685dfc317270642fbf2a686799ca2b31ea42e0de.tar.bz2
luajit-685dfc317270642fbf2a686799ca2b31ea42e0de.zip
Fix for the fix for the trace flush logic.
Diffstat (limited to 'src')
-rw-r--r--src/lj_trace.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c
index 5ab6c852..c6e87bb5 100644
--- a/src/lj_trace.c
+++ b/src/lj_trace.c
@@ -187,12 +187,12 @@ static void trace_unpatch(jit_State *J, GCtrace *T)
187 if (op == BC_JMP) 187 if (op == BC_JMP)
188 return; /* No need to unpatch branches in parent traces (yet). */ 188 return; /* No need to unpatch branches in parent traces (yet). */
189 switch (bc_op(*pc)) { 189 switch (bc_op(*pc)) {
190 case BC_JFORI: 190 case BC_JFORL:
191 lua_assert(op == BC_FORL); 191 lua_assert(traceref(J, bc_d(*pc)) == T);
192 setbc_op(pc, BC_FORI);
193 pc += bc_j(*pc);
194 lua_assert(bc_op(*pc) == BC_JFORL && traceref(J, bc_d(*pc)) == T);
195 *pc = T->startins; 192 *pc = T->startins;
193 pc += bc_j(T->startins);
194 lua_assert(bc_op(*pc) == BC_JFORI);
195 setbc_op(pc, BC_FORI);
196 break; 196 break;
197 case BC_JLOOP: 197 case BC_JLOOP:
198 lua_assert(op == BC_LOOP || bc_isret(op)); 198 lua_assert(op == BC_LOOP || bc_isret(op));