Add weak guards. Emit TNEW/TDUP with a guard bit.

This commit is contained in:
Mike Pall
2010-05-08 18:59:59 +02:00
parent 8fa1db826c
commit 5ff994fa37
5 changed files with 63 additions and 63 deletions

View File

@@ -1883,7 +1883,7 @@ static TRef rec_tnew(jit_State *J, uint32_t ah)
uint32_t asize = ah & 0x7ff;
uint32_t hbits = ah >> 11;
if (asize == 0x7ff) asize = 0x801;
return emitir(IRT(IR_TNEW, IRT_TAB), asize, hbits);
return emitir(IRTG(IR_TNEW, IRT_TAB), asize, hbits);
}
/* -- Record bytecode ops ------------------------------------------------- */
@@ -2167,7 +2167,7 @@ void lj_record_ins(jit_State *J)
rc = rec_tnew(J, rc);
break;
case BC_TDUP:
rc = emitir(IRT(IR_TDUP, IRT_TAB),
rc = emitir(IRTG(IR_TDUP, IRT_TAB),
lj_ir_ktab(J, gco2tab(proto_kgc(J->pt, ~(ptrdiff_t)rc))), 0);
break;