aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r--src/lj_asm.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 1e934d7c..3813a5d7 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -2581,9 +2581,7 @@ static void asm_stack_restore(ASMState *as, SnapShot *snap)
2581 int32_t ofs = 8*((int32_t)s-1); 2581 int32_t ofs = 8*((int32_t)s-1);
2582 IRRef ref = snap_ref(sn); 2582 IRRef ref = snap_ref(sn);
2583 IRIns *ir = IR(ref); 2583 IRIns *ir = IR(ref);
2584 /* No need to restore readonly slots and unmodified non-parent slots. */ 2584 if ((sn & SNAP_NORESTORE))
2585 if (ir->o == IR_SLOAD && ir->op1 == s &&
2586 (ir->op2 & (IRSLOAD_READONLY|IRSLOAD_PARENT)) != IRSLOAD_PARENT)
2587 continue; 2585 continue;
2588 if (irt_isnum(ir->t)) { 2586 if (irt_isnum(ir->t)) {
2589 Reg src = ra_alloc1(as, ref, RSET_FPR); 2587 Reg src = ra_alloc1(as, ref, RSET_FPR);