diff options
| author | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-01 21:17:43 -0500 |
|---|---|---|
| committer | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-04 12:22:34 -0500 |
| commit | 55c703b8fdb040c51bf8784beb3dc02332db417a (patch) | |
| tree | 5639400cf0dc59acfee955b50fd833bdda283e9d /includes | |
| parent | 9d7cbbcf625bc103d9fd086e9fcf99cb5c4b56ea (diff) | |
| download | haskell-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.h | 4 |
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. |
