mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-12 17:24:09 +00:00
Merge branch 'master' into v2.1
This commit is contained in:
commit
647cc4613f
@ -1198,7 +1198,7 @@ static void asm_collectargs(ASMState *as, IRIns *ir,
|
|||||||
const CCallInfo *ci, IRRef *args)
|
const CCallInfo *ci, IRRef *args)
|
||||||
{
|
{
|
||||||
uint32_t n = CCI_XNARGS(ci);
|
uint32_t n = CCI_XNARGS(ci);
|
||||||
lua_assert(n <= CCI_NARGS_MAX);
|
lua_assert(n <= CCI_NARGS_MAX*2); /* Account for split args. */
|
||||||
if ((ci->flags & CCI_L)) { *args++ = ASMREF_L; n--; }
|
if ((ci->flags & CCI_L)) { *args++ = ASMREF_L; n--; }
|
||||||
while (n-- > 1) {
|
while (n-- > 1) {
|
||||||
ir = IR(ir->op1);
|
ir = IR(ir->op1);
|
||||||
|
@ -455,7 +455,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
|||||||
|
|
||||||
static void asm_callx(ASMState *as, IRIns *ir)
|
static void asm_callx(ASMState *as, IRIns *ir)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
CCallInfo ci;
|
CCallInfo ci;
|
||||||
IRRef func;
|
IRRef func;
|
||||||
IRIns *irf;
|
IRIns *irf;
|
||||||
@ -2132,7 +2132,7 @@ static void asm_tail_prep(ASMState *as)
|
|||||||
/* Ensure there are enough stack slots for call arguments. */
|
/* Ensure there are enough stack slots for call arguments. */
|
||||||
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
uint32_t i, nargs = CCI_XNARGS(ci);
|
uint32_t i, nargs = CCI_XNARGS(ci);
|
||||||
int nslots = 0, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR, fprodd = 0;
|
int nslots = 0, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR, fprodd = 0;
|
||||||
asm_collectargs(as, ir, ci, args);
|
asm_collectargs(as, ir, ci, args);
|
||||||
|
@ -328,7 +328,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
|||||||
|
|
||||||
static void asm_callx(ASMState *as, IRIns *ir)
|
static void asm_callx(ASMState *as, IRIns *ir)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
CCallInfo ci;
|
CCallInfo ci;
|
||||||
IRRef func;
|
IRRef func;
|
||||||
IRIns *irf;
|
IRIns *irf;
|
||||||
@ -1725,7 +1725,7 @@ static void asm_tail_prep(ASMState *as)
|
|||||||
/* Ensure there are enough stack slots for call arguments. */
|
/* Ensure there are enough stack slots for call arguments. */
|
||||||
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
uint32_t i, nargs = CCI_XNARGS(ci);
|
uint32_t i, nargs = CCI_XNARGS(ci);
|
||||||
int nslots = 4, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
|
int nslots = 4, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
|
||||||
asm_collectargs(as, ir, ci, args);
|
asm_collectargs(as, ir, ci, args);
|
||||||
|
@ -331,7 +331,7 @@ static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
|||||||
|
|
||||||
static void asm_callx(ASMState *as, IRIns *ir)
|
static void asm_callx(ASMState *as, IRIns *ir)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
CCallInfo ci;
|
CCallInfo ci;
|
||||||
IRRef func;
|
IRRef func;
|
||||||
IRIns *irf;
|
IRIns *irf;
|
||||||
@ -1916,7 +1916,7 @@ static void asm_tail_prep(ASMState *as)
|
|||||||
/* Ensure there are enough stack slots for call arguments. */
|
/* Ensure there are enough stack slots for call arguments. */
|
||||||
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
uint32_t i, nargs = CCI_XNARGS(ci);
|
uint32_t i, nargs = CCI_XNARGS(ci);
|
||||||
int nslots = 2, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
|
int nslots = 2, ngpr = REGARG_NUMGPR, nfpr = REGARG_NUMFPR;
|
||||||
asm_collectargs(as, ir, ci, args);
|
asm_collectargs(as, ir, ci, args);
|
||||||
|
@ -600,7 +600,7 @@ static void *asm_callx_func(ASMState *as, IRIns *irf, IRRef func)
|
|||||||
|
|
||||||
static void asm_callx(ASMState *as, IRIns *ir)
|
static void asm_callx(ASMState *as, IRIns *ir)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
CCallInfo ci;
|
CCallInfo ci;
|
||||||
IRRef func;
|
IRRef func;
|
||||||
IRIns *irf;
|
IRIns *irf;
|
||||||
@ -2593,7 +2593,7 @@ static void asm_tail_prep(ASMState *as)
|
|||||||
/* Ensure there are enough stack slots for call arguments. */
|
/* Ensure there are enough stack slots for call arguments. */
|
||||||
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
static Reg asm_setup_call_slots(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
||||||
{
|
{
|
||||||
IRRef args[CCI_NARGS_MAX];
|
IRRef args[CCI_NARGS_MAX*2];
|
||||||
int nslots;
|
int nslots;
|
||||||
asm_collectargs(as, ir, ci, args);
|
asm_collectargs(as, ir, ci, args);
|
||||||
nslots = asm_count_call_slots(as, ci, args);
|
nslots = asm_count_call_slots(as, ci, args);
|
||||||
|
Loading…
Reference in New Issue
Block a user