You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compiling a function like (define (foo) (list 1 2 3 4 ... n)) easily causes
register starvation. This is because while register retargeting tries to switch
loads and stores to point to good registers, it does not actually try to limit
the number of registers in use. In the above mentioned function all values are
naturally in 'good' positions since they need not be moved anywhere, and end up
taking ~O(2n) registers.
Should add a register limit to the retargeting pass to force them to be moved
do free lower registers, and while we're at it, reduce the number of VM
registers. Should also add register spilling (by storing them to tuples
resembling environments), and more generally rewrite the whole compiler, as it
seems to be pretty old and ugly code.
Original issue reported on code.google.com by aohelin on 5 Dec 2010 at 3:44
The text was updated successfully, but these errors were encountered:
Original issue reported on code.google.com by
aohelin
on 5 Dec 2010 at 3:44The text was updated successfully, but these errors were encountered: