Question regarding combinator call convention

Simon Marlow marlowsd at gmail.com
Mon Feb 1 06:43:40 EST 2010


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


More information about the Glasgow-haskell-users mailing list