
25 Jul
2008
25 Jul
'08
3:47 a.m.
On 25 Jul 2008, at 10:55 am, Duncan Coutts wrote:
The problem of course is recursion and deeply nested call stacks which don't make good use of register windows because they keep having to interrupt to spill them to the save area.
A fair bit of thought was put into SPARC V9 to making saving and restoring register windows a lot cheaper than it used to be. (And the Sun C compiler learned how to do TRO.) It's nice to have 3 windows: <C world> startup <Haskell world> normal Haskell code <millicode> special support code so that normal code doesn't have to leave registers spare for millicode routines.