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.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 7542c77c..a80d6adf 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -2050,7 +2050,16 @@ static void asm_setup_regsp(ASMState *as)
2050 case IR_SNEW: case IR_XSNEW: case IR_NEWREF: case IR_BUFPUT: 2050 case IR_SNEW: case IR_XSNEW: case IR_NEWREF: case IR_BUFPUT:
2051 if (REGARG_NUMGPR < 3 && as->evenspill < 3) 2051 if (REGARG_NUMGPR < 3 && as->evenspill < 3)
2052 as->evenspill = 3; /* lj_str_new and lj_tab_newkey need 3 args. */ 2052 as->evenspill = 3; /* lj_str_new and lj_tab_newkey need 3 args. */
2053 case IR_TNEW: case IR_TDUP: case IR_CNEW: case IR_CNEWI: case IR_TOSTR: 2053#if LJ_TARGET_X86 && LJ_HASFFI
2054 if (0) {
2055 case IR_CNEW:
2056 if (ir->op2 != REF_NIL && as->evenspill < 4)
2057 as->evenspill = 4; /* lj_cdata_newv needs 4 args. */
2058 }
2059#else
2060 case IR_CNEW:
2061#endif
2062 case IR_TNEW: case IR_TDUP: case IR_CNEWI: case IR_TOSTR:
2054 case IR_BUFSTR: 2063 case IR_BUFSTR:
2055 ir->prev = REGSP_HINT(RID_RET); 2064 ir->prev = REGSP_HINT(RID_RET);
2056 if (inloop) 2065 if (inloop)