summaryrefslogtreecommitdiff
path: root/src/lj_asm_mips.h
diff options
context:
space:
mode:
authorMike Pall <mike>2013-05-16 19:59:38 +0200
committerMike Pall <mike>2013-05-16 19:59:38 +0200
commit0f79d4741f29637de1eaaa603fdd0d161feb390d (patch)
treeebb52a50d4371fbde02dd9511c8fd6da2564e05c /src/lj_asm_mips.h
parent1c7650f782c4e6482cf496699af9136c89fe22b2 (diff)
downloadluajit-0f79d4741f29637de1eaaa603fdd0d161feb390d.tar.gz
luajit-0f79d4741f29637de1eaaa603fdd0d161feb390d.tar.bz2
luajit-0f79d4741f29637de1eaaa603fdd0d161feb390d.zip
Handle calls with max. args in backends even after SPLIT.
Diffstat (limited to 'src/lj_asm_mips.h')
-rw-r--r--src/lj_asm_mips.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_mips.h b/src/lj_asm_mips.h
index 7d1a8c68..9fe7c9c3 100644
--- a/src/lj_asm_mips.h
+++ b/src/lj_asm_mips.h
@@ -337,7 +337,7 @@ static void asm_call(ASMState *as, IRIns *ir)
337 337
338static void asm_callx(ASMState *as, IRIns *ir) 338static void asm_callx(ASMState *as, IRIns *ir)
339{ 339{
340 IRRef args[CCI_NARGS_MAX]; 340 IRRef args[CCI_NARGS_MAX*2];
341 CCallInfo ci; 341 CCallInfo ci;
342 IRRef func; 342 IRRef func;
343 IRIns *irf; 343 IRIns *irf;
@@ -1894,7 +1894,7 @@ static void asm_ir(ASMState *as, IRIns *ir)
1894/* Ensure there are enough stack slots for call arguments. */ 1894/* Ensure there are enough stack slots for call arguments. */
1895static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) 1895static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
1896{ 1896{
1897 IRRef args[CCI_NARGS_MAX]; 1897 IRRef args[CCI_NARGS_MAX*2];
1898 uint32_t i, nargs = (int)CCI_NARGS(ci); 1898 uint32_t i, nargs = (int)CCI_NARGS(ci);
1899 int nslots = 4, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR; 1899 int nslots = 4, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
1900 asm_collectargs(as, ir, ci, args); 1900 asm_collectargs(as, ir, ci, args);