Move the allocation of CAF blackholes into 'newCAF' (#8590)
authorPatrick Palka <patrick@parcs.ath.cx>
Mon, 2 Dec 2013 02:17:43 +0000 (21:17 -0500)
committerPatrick Palka <patrick@parcs.ath.cx>
Wed, 4 Dec 2013 17:22:34 +0000 (12:22 -0500)
commit55c703b8fdb040c51bf8784beb3dc02332db417a
tree5639400cf0dc59acfee955b50fd833bdda283e9d
parent9d7cbbcf625bc103d9fd086e9fcf99cb5c4b56ea
Move the allocation of CAF blackholes into 'newCAF' (#8590)

We now do the allocation of the blackhole indirection closure inside the
RTS procedure 'newCAF' instead of generating the allocation code inline
in the closure body of each CAF.  This slightly decreases code size in
modules with a lot of CAFs.

As a result of this change, for example, the size of DynFlags.o drops by
~60KB and HsExpr.o by ~100KB.
compiler/codeGen/StgCmmBind.hs
includes/rts/storage/GC.h
rts/sm/Storage.c