Use an explicit flag to signal SINK tags for a trace.
This commit is contained in:
@@ -1538,9 +1538,10 @@ static void asm_tail_link(ASMState *as)
|
||||
/* -- Trace setup --------------------------------------------------------- */
|
||||
|
||||
/* Clear reg/sp for all instructions and add register hints. */
|
||||
static void asm_setup_regsp(ASMState *as, int sink)
|
||||
static void asm_setup_regsp(ASMState *as)
|
||||
{
|
||||
GCtrace *T = as->T;
|
||||
int sink = T->sinktags;
|
||||
IRRef nins = T->nins;
|
||||
IRIns *ir, *lastir;
|
||||
int inloop;
|
||||
@@ -1768,7 +1769,6 @@ void lj_asm_trace(jit_State *J, GCtrace *T)
|
||||
ASMState as_;
|
||||
ASMState *as = &as_;
|
||||
MCode *origtop;
|
||||
int sink;
|
||||
|
||||
/* Ensure an initialized instruction beyond the last one for HIOP checks. */
|
||||
J->cur.nins = lj_ir_nextins(J);
|
||||
@@ -1789,7 +1789,6 @@ void lj_asm_trace(jit_State *J, GCtrace *T)
|
||||
as->mcp = as->mctop;
|
||||
as->mclim = as->mcbot + MCLIM_REDZONE;
|
||||
asm_setup_target(as);
|
||||
sink = (IR(REF_BASE)->prev == 1);
|
||||
|
||||
do {
|
||||
as->mcp = as->mctop;
|
||||
@@ -1805,7 +1804,7 @@ void lj_asm_trace(jit_State *J, GCtrace *T)
|
||||
as->gcsteps = 0;
|
||||
as->sectref = as->loopref;
|
||||
as->fuseref = (as->flags & JIT_F_OPT_FUSE) ? as->loopref : FUSE_DISABLED;
|
||||
asm_setup_regsp(as, sink);
|
||||
asm_setup_regsp(as);
|
||||
if (!as->loopref)
|
||||
asm_tail_link(as);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user