diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2021-10-08 09:45:38 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-10-12 19:17:15 -0400 |
commit | 7215f6dec0bb4db6fe1dc2ef0a126ea37a0d884b (patch) | |
tree | a82e8a1b90f81e4ddd3d2f7e08208a9744d506d1 | |
parent | 105e2711a0e382863cccee6dbc3ccb0ee79b0ce6 (diff) | |
download | haskell-7215f6dec0bb4db6fe1dc2ef0a126ea37a0d884b.tar.gz |
Make fields of Linkable strict
The Module field can end up retaining part of a large structure and is
always calculated by projection.
-rw-r--r-- | compiler/GHC/Linker/Types.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/Linker/Types.hs b/compiler/GHC/Linker/Types.hs index e0d04f5bfa..d1131a70f0 100644 --- a/compiler/GHC/Linker/Types.hs +++ b/compiler/GHC/Linker/Types.hs @@ -101,10 +101,10 @@ type ClosureEnv = NameEnv (Name, ForeignHValue) -- | Information we can use to dynamically link modules into the compiler data Linkable = LM { - linkableTime :: UTCTime, -- ^ Time at which this linkable was built + linkableTime :: !UTCTime, -- ^ Time at which this linkable was built -- (i.e. when the bytecodes were produced, -- or the mod date on the files) - linkableModule :: Module, -- ^ The linkable module itself + linkableModule :: !Module, -- ^ The linkable module itself linkableUnlinked :: [Unlinked] -- ^ Those files and chunks of code we have yet to link. -- |