Open rmacnak-google opened 8 years ago
Is this a known register allocation issue @mraleph ?
I will check it up.
I saw another example today which makes the issue more obvious because it uses a dozens of constants: dart:convert._Base64Decoder._inverseAlphabet
. There it looks like the register allocator initially assigns all constants a live range extending for the whole GraphEntry. The first several constants are assigned to a register at entry, but due to register pressure the live range is split and the first range goes unused. This unused range also extends over the CheckStackOverflow instr, causing all the allocated constants to be spilled and restored in the slow path.
The first load of r0 is dead. @fsc8000