aboutsummaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-11-25 19:36:35 +0100
committerMike Pall <mike>2011-11-25 19:36:35 +0100
commitc142b6c53eb8c9cb08ecc3a4db98cc1ff61b5989 (patch)
treec9f30473126af40cd41a7528ca35002898339a4a /src/lj_record.c
parentb3f16cb64d8eef247d3763eb90ece38810f29781 (diff)
downloadluajit-c142b6c53eb8c9cb08ecc3a4db98cc1ff61b5989.tar.gz
luajit-c142b6c53eb8c9cb08ecc3a4db98cc1ff61b5989.tar.bz2
luajit-c142b6c53eb8c9cb08ecc3a4db98cc1ff61b5989.zip
FFI: Record C function calls with bool return values.
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index a76f5d94..2c27a718 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1573,8 +1573,14 @@ void lj_record_ins(jit_State *J)
1573 rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1))); 1573 rec_comp_fixup(J, pc, (!tvistruecond(&J2G(J)->tmptv2) ^ (bc_op(*pc)&1)));
1574 /* fallthrough */ 1574 /* fallthrough */
1575 case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */ 1575 case LJ_POST_FIXGUARD: /* Fixup and emit pending guard. */
1576 if (!tvistruecond(&J2G(J)->tmptv2)) 1576 case LJ_POST_FIXGUARDSNAP: /* Fixup and emit pending guard and snapshot. */
1577 if (!tvistruecond(&J2G(J)->tmptv2)) {
1577 J->fold.ins.o ^= 1; /* Flip guard to opposite. */ 1578 J->fold.ins.o ^= 1; /* Flip guard to opposite. */
1579 if (J->postproc == LJ_POST_FIXGUARDSNAP) {
1580 SnapShot *snap = &J->cur.snap[J->cur.nsnap-1];
1581 J->cur.snapmap[snap->mapofs+snap->nent-1]--; /* False -> true. */
1582 }
1583 }
1578 lj_opt_fold(J); /* Emit pending guard. */ 1584 lj_opt_fold(J); /* Emit pending guard. */
1579 /* fallthrough */ 1585 /* fallthrough */
1580 case LJ_POST_FIXBOOL: 1586 case LJ_POST_FIXBOOL: