Kdysi dávno jsem četl v článku o Sparc, že ty register windows, ač zprvu zajímavý nápad, jim později nadělal víc starostí než užitku (bylo to v 90. letech, takže předpokládám, že problémy mohly souviset s vylepšováním pipelining nebo out-of-order execution, ale nepamatuju si to).
Máte někdo přesnější informace, jak bylo implementováno přetečení register stacku? Předpokládám, že se vyvolal nějaký interrupt, který uložil všechny registry na stack a jelo se dál. Ale zase očekávám něco aspoň trochu inteligentního, aby funkce, která se dostala na hranu stacku, neukládala/neobnovovala komplet registry při každém volání podfunkce. Nebo se ukládala třeba jen polovina a druhá přesunula (to by mi zase tři stack frames přišly docela málo) ...?