diff options
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r-- | src/lj_asm.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 322799e6..80dda36a 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -1345,7 +1345,7 @@ static void asm_gencall(ASMState *as, const CCallInfo *ci, IRRef *args) | |||
1345 | for (n = 0; n < nargs; n++) { /* Setup args. */ | 1345 | for (n = 0; n < nargs; n++) { /* Setup args. */ |
1346 | IRIns *ir = IR(args[n]); | 1346 | IRIns *ir = IR(args[n]); |
1347 | Reg r; | 1347 | Reg r; |
1348 | #if LJ_64 && defined(_WIN64) | 1348 | #if LJ_64 && LJ_ABI_WIN |
1349 | /* Windows/x64 argument registers are strictly positional. */ | 1349 | /* Windows/x64 argument registers are strictly positional. */ |
1350 | r = irt_isnum(ir->t) ? (fpr <= REGARG_LASTFPR ? fpr : 0) : (gprs & 31); | 1350 | r = irt_isnum(ir->t) ? (fpr <= REGARG_LASTFPR ? fpr : 0) : (gprs & 31); |
1351 | fpr++; gprs >>= 5; | 1351 | fpr++; gprs >>= 5; |
@@ -3518,11 +3518,7 @@ static void asm_setup_regsp(ASMState *as, GCtrace *T) | |||
3518 | const CCallInfo *ci = &lj_ir_callinfo[ir->op2]; | 3518 | const CCallInfo *ci = &lj_ir_callinfo[ir->op2]; |
3519 | #if LJ_64 | 3519 | #if LJ_64 |
3520 | /* NYI: add stack slots for x64 calls with many args. */ | 3520 | /* NYI: add stack slots for x64 calls with many args. */ |
3521 | #ifdef _WIN64 | 3521 | lua_assert(CCI_NARGS(ci) <= (LJ_ABI_WIN ? 4 : 6)); |
3522 | lua_assert(CCI_NARGS(ci) <= 4); | ||
3523 | #else | ||
3524 | lua_assert(CCI_NARGS(ci) <= 6); /* Safe lower bound. */ | ||
3525 | #endif | ||
3526 | ir->prev = REGSP_HINT(irt_isnum(ir->t) ? RID_FPRET : RID_RET); | 3522 | ir->prev = REGSP_HINT(irt_isnum(ir->t) ? RID_FPRET : RID_RET); |
3527 | #else | 3523 | #else |
3528 | /* NYI: not fastcall-aware, but doesn't matter (yet). */ | 3524 | /* NYI: not fastcall-aware, but doesn't matter (yet). */ |