mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Merge branch 'master' into v2.1
This commit is contained in:
commit
7400e2c0cc
@ -49,6 +49,8 @@ static void asm_exitstub_setup(ASMState *as, ExitNo nexits)
|
|||||||
{
|
{
|
||||||
ExitNo i;
|
ExitNo i;
|
||||||
MCode *mxp = as->mctop;
|
MCode *mxp = as->mctop;
|
||||||
|
if (mxp - (nexits + 3 + MCLIM_REDZONE) < as->mclim)
|
||||||
|
asm_mclimit(as);
|
||||||
/* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */
|
/* 1: mflr r0; bl ->vm_exit_handler; li r0, traceno; bl <1; bl <1; ... */
|
||||||
for (i = nexits-1; (int32_t)i >= 0; i--)
|
for (i = nexits-1; (int32_t)i >= 0; i--)
|
||||||
*--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2);
|
*--mxp = PPCI_BL|(((-3-i)&0x00ffffffu)<<2);
|
||||||
|
@ -571,7 +571,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
|||||||
lua_assert(!irt_ispri(ir->t));
|
lua_assert(!irt_ispri(ir->t));
|
||||||
ra_destreg(as, ir, RID_RET);
|
ra_destreg(as, ir, RID_RET);
|
||||||
}
|
}
|
||||||
} else if (LJ_32 && irt_isfp(ir->t)) {
|
} else if (LJ_32 && irt_isfp(ir->t) && !(ci->flags & CCI_CASTU64)) {
|
||||||
emit_x87op(as, XI_FPOP); /* Pop unused result from x87 st0. */
|
emit_x87op(as, XI_FPOP); /* Pop unused result from x87 st0. */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user