mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-10 08:24:08 +00:00
sink: Sweep constants in increasing order.
This commit is contained in:
parent
9d51806696
commit
fdf6eb4678
@ -166,8 +166,8 @@ static void sink_remark_phi(jit_State *J)
|
||||
/* Sweep instructions and tag sunken allocations and stores. */
|
||||
static void sink_sweep_ins(jit_State *J)
|
||||
{
|
||||
IRIns *ir, *irfirst = IR(J->cur.nk);
|
||||
for (ir = IR(J->cur.nins-1) ; ir >= irfirst; ir--) {
|
||||
IRIns *ir, *irbase = IR(REF_BASE);
|
||||
for (ir = IR(J->cur.nins-1) ; ir >= irbase; ir--) {
|
||||
switch (ir->o) {
|
||||
case IR_ASTORE: case IR_HSTORE: case IR_FSTORE: case IR_XSTORE: {
|
||||
IRIns *ira = sink_checkalloc(J, ir);
|
||||
@ -217,6 +217,10 @@ static void sink_sweep_ins(jit_State *J)
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (ir = IR(J->cur.nk); ir < irbase; ++ir) {
|
||||
irt_clearmark(ir->t);
|
||||
ir->prev = REGSP_INIT;
|
||||
}
|
||||
}
|
||||
|
||||
/* Allocation sinking and store sinking.
|
||||
|
Loading…
Reference in New Issue
Block a user