John Dias wrote:
Wed Mar 25 09:38:15 PDT 2009  [email protected]
  * Better handling of node parameter in calling conventions
   - Previously, the node was taken as a parameter, then ignored,
     for static closures. Goofy. Now, the vestigial node parameters
     are gone.

    M ./compiler/cmm/CmmCallConv.hs -4 +3
    M ./compiler/cmm/CmmProcPointZ.hs -3 +10
    M ./compiler/cmm/MkZipCfgCmm.hs -2
    M ./compiler/codeGen/StgCmmLayout.hs -3 +7

I presume for a top-level function you still reserve R1, even though nothing is passed in it? The AutoApply code in the RTS assumes this: regardless of whether the function is top-level or not, the arguments are allocated into R2 and up. This means that for the common case of a call to an unknown function with the correct number of arguments, we can jump directly to the function's entry point without having to shuffle the arguments around.

Cheers,
        Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to