mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
LJ_GC64: Various followup fixes.
Contributed by Peter Cawley.
This commit is contained in:
parent
bdcaf4bfd9
commit
716f2daef8
@ -1247,6 +1247,7 @@ static void asm_href(ASMState *as, IRIns *ir, IROp merge)
|
|||||||
} else {
|
} else {
|
||||||
emit_rr(as, XO_MOV, tmp, key);
|
emit_rr(as, XO_MOV, tmp, key);
|
||||||
#if LJ_GC64
|
#if LJ_GC64
|
||||||
|
checkmclim(as);
|
||||||
emit_gri(as, XG_ARITHi(XOg_XOR), dest, irt_toitype(kt) << 15);
|
emit_gri(as, XG_ARITHi(XOg_XOR), dest, irt_toitype(kt) << 15);
|
||||||
if ((as->flags & JIT_F_BMI2)) {
|
if ((as->flags & JIT_F_BMI2)) {
|
||||||
emit_i8(as, 32);
|
emit_i8(as, 32);
|
||||||
|
@ -2263,6 +2263,8 @@ void lj_record_ins(jit_State *J)
|
|||||||
rc = lj_ir_kint(J, (int32_t)(int16_t)rc);
|
rc = lj_ir_kint(J, (int32_t)(int16_t)rc);
|
||||||
break;
|
break;
|
||||||
case BC_KNIL:
|
case BC_KNIL:
|
||||||
|
if (LJ_FR2 && ra > J->maxslot)
|
||||||
|
J->base[ra-1] = 0;
|
||||||
while (ra <= rc)
|
while (ra <= rc)
|
||||||
J->base[ra++] = TREF_NIL;
|
J->base[ra++] = TREF_NIL;
|
||||||
if (rc >= J->maxslot) J->maxslot = rc+1;
|
if (rc >= J->maxslot) J->maxslot = rc+1;
|
||||||
|
Loading…
Reference in New Issue
Block a user