diff options
author | Mike Pall <mike> | 2013-05-16 19:59:38 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-05-16 19:59:38 +0200 |
commit | 0f79d4741f29637de1eaaa603fdd0d161feb390d (patch) | |
tree | ebb52a50d4371fbde02dd9511c8fd6da2564e05c /src/lj_asm_mips.h | |
parent | 1c7650f782c4e6482cf496699af9136c89fe22b2 (diff) | |
download | luajit-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.h | 4 |
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 | ||
338 | static void asm_callx(ASMState *as, IRIns *ir) | 338 | static 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. */ |
1895 | static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) | 1895 | static 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); |