
1 Feb
2010
1 Feb
'10
6:43 a.m.
On 29/01/2010 21:02, Tyson Whitehead wrote:
I was looking through the code for 6.12.1 and am a bit confused about 11.1.3 in the runtime system documentation docs/rts/rts.tex.
That's a very old document and is inaccurate in various ways. The Commentary is more up to date: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts
It says the arguments passing convention to a known combinator differs from that of the others in that it starts the arguments with R1 instead of R2 (R1 points to the associated memory data structure for non-combinators).
The address of the closure is always passed in R1, and the arguments start at R2, if R2 is a register, or the stack otherwise. Cheers, Simon