FFI: Record ffi.abi().

This commit is contained in:
Mike Pall
2011-02-08 00:09:33 +01:00
parent 7a37b93f1b
commit c39ca7c35b
5 changed files with 21 additions and 4 deletions

View File

@@ -1388,16 +1388,19 @@ void lj_record_ins(jit_State *J)
rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1)));
/* fallthrough */
case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */
if (!tvistruecond(&J2G(J)->tmptv2))
J->fold.ins.o ^= 1; /* Flip guard to opposite. */
lj_opt_fold(J); /* Emit pending guard. */
/* fallthrough */
case LJ_POST_FIXBOOL:
if (!tvistruecond(&J2G(J)->tmptv2)) {
BCReg s;
J->fold.ins.o ^= 1; /* Flip guard to opposite. */
for (s = 0; s < J->maxslot; s++) /* Fixup stack slot (if any). */
if (J->base[s] == TREF_TRUE && tvisfalse(&J->L->base[s])) {
J->base[s] = TREF_FALSE;
break;
}
}
lj_opt_fold(J); /* Emit pending guard. */
break;
default: lua_assert(0); break;
}