summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorPatrick Palka <patrick@parcs.ath.cx>2013-12-01 21:17:43 -0500
committerPatrick Palka <patrick@parcs.ath.cx>2013-12-04 12:22:34 -0500
commit55c703b8fdb040c51bf8784beb3dc02332db417a (patch)
tree5639400cf0dc59acfee955b50fd833bdda283e9d /includes
parent9d7cbbcf625bc103d9fd086e9fcf99cb5c4b56ea (diff)
downloadhaskell-55c703b8fdb040c51bf8784beb3dc02332db417a.tar.gz
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.
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/storage/GC.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/includes/rts/storage/GC.h b/includes/rts/storage/GC.h
index f8b8afe328..63a9594da0 100644
--- a/includes/rts/storage/GC.h
+++ b/includes/rts/storage/GC.h
@@ -181,8 +181,8 @@ void performMajorGC(void);
The CAF table - used to let us revert CAFs in GHCi
-------------------------------------------------------------------------- */
-StgWord newCAF (StgRegTable *reg, StgIndStatic *caf, StgClosure *bh);
-StgWord newDynCAF (StgRegTable *reg, StgIndStatic *caf, StgClosure *bh);
+StgInd *newCAF (StgRegTable *reg, StgIndStatic *caf);
+StgInd *newDynCAF (StgRegTable *reg, StgIndStatic *caf);
void revertCAFs (void);
// Request that all CAFs are retained indefinitely.