Commits

Hakan Ardo
committed
77e3e262011-09-03

In case of conflicts, prioritize among the potential short ops that canproduce one specific box instead of duplicating recursivly every op thatuses that box as an argument. The priority order is: - ops found in the original trace - synthetic ops (setfields converted to getfields) - inputargs - potential ops that was never promoted to short_boxesThis makes the effect of the optimizations less random and should alwaysremove loop invariant ops. Non loop invariant cases can still benefit fromunrolling but in exactly what situations has become more complicated.