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_x86.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_x86.h')
-rw-r--r-- | src/lj_asm_x86.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index 8bae1789..64441ccb 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h | |||
@@ -609,7 +609,7 @@ static void *asm_callx_func(ASMState *as, IRIns *irf, IRRef func) | |||
609 | 609 | ||
610 | static void asm_callx(ASMState *as, IRIns *ir) | 610 | static void asm_callx(ASMState *as, IRIns *ir) |
611 | { | 611 | { |
612 | IRRef args[CCI_NARGS_MAX]; | 612 | IRRef args[CCI_NARGS_MAX*2]; |
613 | CCallInfo ci; | 613 | CCallInfo ci; |
614 | IRRef func; | 614 | IRRef func; |
615 | IRIns *irf; | 615 | IRIns *irf; |
@@ -2742,7 +2742,7 @@ static void asm_ir(ASMState *as, IRIns *ir) | |||
2742 | /* Ensure there are enough stack slots for call arguments. */ | 2742 | /* Ensure there are enough stack slots for call arguments. */ |
2743 | static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) | 2743 | static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci) |
2744 | { | 2744 | { |
2745 | IRRef args[CCI_NARGS_MAX]; | 2745 | IRRef args[CCI_NARGS_MAX*2]; |
2746 | int nslots; | 2746 | int nslots; |
2747 | asm_collectargs(as, ir, ci, args); | 2747 | asm_collectargs(as, ir, ci, args); |
2748 | nslots = asm_count_call_slots(as, ci, args); | 2748 | nslots = asm_count_call_slots(as, ci, args); |