[GHC] #8590: Reduce code size of CAFs

GHC ghc-devs at haskell.org
Wed Dec 4 18:49:05 UTC 2013


#8590: Reduce code size of CAFs
-------------------------------------+------------------------------------
        Reporter:  parcs             |            Owner:  parcs
            Type:  feature request   |           Status:  patch
        Priority:  normal            |        Milestone:
       Component:  Compiler (NCG)    |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by parcs):

 Thanks for the comments. I've deduplicated and updated the CAF
 documentation in a followup patch.

 In the meantime, I noticed an oversight in the original patch. `lockCAF()`
 was not setting the profiling header of the newly-allocated blackhole. To
 fix this, I changed the following line

 {{{
 #!c
 bh->header.info = &stg_CAF_BLACKHOLE_info;
 }}}

 to

 {{{
 #!c
 SET_HDR(bh, &stg_CAF_BLACKHOLE_info, caf->header.prof.ccs);
 }}}

 which has the blackhole inherit the CCS from the respective CAF,
 equivalent to what the old code did.

 I'm going to commit this patch now.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8590#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list