diff options
author | Mike Pall <mike> | 2012-07-02 22:42:40 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-07-02 22:42:40 +0200 |
commit | 5d0115ef8df093ce9737d00ad35d2fcc693df83f (patch) | |
tree | ac4268983040eba4ef45a4e4fea775062db34154 /src/lj_asm_x86.h | |
parent | 264177b0d041fdea5e07091a0c585607e9b55828 (diff) | |
download | luajit2-5d0115ef8df093ce9737d00ad35d2fcc693df83f.tar.gz |
Add explicit IR_GCSTEP instruction.
Diffstat (limited to 'src/lj_asm_x86.h')
-rw-r--r-- | src/lj_asm_x86.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index 7647b03f..4537e1d5 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h @@ -2379,7 +2379,7 @@ static void asm_gc_check(ASMState *as) asm_gencall(as, ci, args); tmp = ra_releasetmp(as, ASMREF_TMP1); emit_loada(as, tmp, J2G(as->J)); - emit_loadi(as, ra_releasetmp(as, ASMREF_TMP2), (int32_t)as->gcsteps); + emit_loadi(as, ra_releasetmp(as, ASMREF_TMP2), as->gcsteps); /* Jump around GC step if GC total < GC threshold. */ emit_sjcc(as, CC_B, l_end); emit_opgl(as, XO_ARITH(XOg_CMP), tmp, gc.threshold); @@ -2556,6 +2556,7 @@ static void asm_ir(ASMState *as, IRIns *ir) ra_alloc1(as, ir->op1, irt_isfp(ir->t) ? RSET_FPR : RSET_GPR); break; case IR_PHI: asm_phi(as, ir); break; case IR_HIOP: asm_hiop(as, ir); break; + case IR_GCSTEP: asm_gcstep(as, ir); break; /* Guarded assertions. */ case IR_LT: case IR_GE: case IR_LE: case IR_GT: |