mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-08 15:34:09 +00:00
Fix BC_MCALL
RC and RD are the same register on x64, so sometimes it uses them interchangeably. Probably we should make them the same register on s390x, but that would involve changing the instruction decode code which I would rather leave until we have a test suite passing.
This commit is contained in:
parent
1825037538
commit
6fc4c0c1a8
@ -2057,6 +2057,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
||||
|
||||
case BC_CALL: case BC_CALLM:
|
||||
| ins_A_C // RA = base, (RB = nresults+1,) RC = nargs+1 | extra_nargs
|
||||
| lgr RD, RC
|
||||
if (op == BC_CALLM) {
|
||||
| ag NARGS:RD, SAVE_MULTRES // TODO: MULTRES is 32-bit on x64
|
||||
}
|
||||
@ -2064,7 +2065,6 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
||||
| lg LFUNC:RB, 0(BASE, RA)
|
||||
| checkfunc LFUNC:RB, ->vmeta_call_ra
|
||||
| la BASE, 16(RA, BASE)
|
||||
| lgr RD, RC
|
||||
| ins_call
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user