4 ms·
> The article concluded that the idea of Register Windows went away because it was a bad idea that didn't really work in practice. But I think that's only half
by Findecanor 3y ago
> The article concluded that the idea of Register Windows went away because it was a bad idea that didn't really work in practice. But I think that's only half the reason, and that could have probably been fixed with some design iteration.
The Itanium also got register windows but designed differently. First, the window size was variable, so that a function didn't have to allocate registers it didn't use.
It also used a separate protected register stack. The architecture allowed registers to be spilled/filled automatically in the background in-between load and store-instructions instead of all at once, but I'm not sure that any implementation did that.
BTW. The return pointer was also on the register stack, so it couldn't be overwritten by a buffer overflow.