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_arm.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_arm.h')
-rw-r--r-- | src/lj_asm_arm.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h index 7c5f7188..a66573c0 100644 --- a/src/lj_asm_arm.h +++ b/src/lj_asm_arm.h | |||
@@ -464,7 +464,7 @@ static void asm_call(ASMState *as, IRIns *ir) | |||
464 | 464 | ||
465 | static void asm_callx(ASMState *as, IRIns *ir) | 465 | static void asm_callx(ASMState *as, IRIns *ir) |
466 | { | 466 | { |
467 | IRRef args[CCI_NARGS_MAX]; | 467 | IRRef args[CCI_NARGS_MAX*2]; |
468 | CCallInfo ci; | 468 | CCallInfo ci; |
469 | IRRef func; | 469 | IRRef func; |
470 | IRIns *irf; | 470 | IRIns *irf; |
@@ -2295,7 +2295,7 @@ static void asm_ir(ASMState *as, IRIns *ir) | |||
2295 | /* Ensure there are enough stack slots for call arguments. */ | 2295 | /* Ensure there are enough stack slots for call arguments. */ |
2296 | static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) | 2296 | static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) |
2297 | { | 2297 | { |
2298 | IRRef args[CCI_NARGS_MAX]; | 2298 | IRRef args[CCI_NARGS_MAX*2]; |
2299 | uint32_t i, nargs = (int)CCI_NARGS(ci); | 2299 | uint32_t i, nargs = (int)CCI_NARGS(ci); |
2300 | int nslots = 0, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR, fprodd = 0; | 2300 | int nslots = 0, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR, fprodd = 0; |
2301 | asm_collectargs(as, ir, ci, args); | 2301 | asm_collectargs(as, ir, ci, args); |