interfaces: Ensure that forceModIface deeply forces a ModIface
A ModIface is the result of compilation that we keep for a long time on disk. Therefore, it's very important to manage what we are going to retain and remove any external references to things which we might have captured compilation. If storing your ModIface in memory usages too much space, then store less things or make it use a more efficient representation. In the past there have been many space leak bugs by not sufficiently forcing a ModIface. This patch adds all the missing NFData instances for all the places I could find where we weren't deeply forcing the structure.
parent
82055dd6
No related branches found
No related tags found
Pipeline #107881 canceled
Stage: tool-lint
Stage: quick-build
Stage: full-build
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Core.hs 6 additions, 0 deletionscompiler/GHC/Core.hs
- compiler/GHC/Core/Coercion/Axiom.hs 6 additions, 0 deletionscompiler/GHC/Core/Coercion/Axiom.hs
- compiler/GHC/Core/DataCon.hs 11 additions, 0 deletionscompiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/TyCon.hs 5 additions, 0 deletionscompiler/GHC/Core/TyCon.hs
- compiler/GHC/Data/Strict.hs 5 additions, 0 deletionscompiler/GHC/Data/Strict.hs
- compiler/GHC/Iface/Recomp/Types.hs 1 addition, 3 deletionscompiler/GHC/Iface/Recomp/Types.hs
- compiler/GHC/Iface/Syntax.hs 53 additions, 42 deletionscompiler/GHC/Iface/Syntax.hs
- compiler/GHC/Iface/Type.hs 5 additions, 0 deletionscompiler/GHC/Iface/Type.hs
- compiler/GHC/Tc/Gen/Splice.hs 2 additions, 5 deletionscompiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Types/Annotations.hs 5 additions, 1 deletioncompiler/GHC/Types/Annotations.hs
- compiler/GHC/Types/Basic.hs 59 additions, 0 deletionscompiler/GHC/Types/Basic.hs
- compiler/GHC/Types/CostCentre.hs 16 additions, 0 deletionscompiler/GHC/Types/CostCentre.hs
- compiler/GHC/Types/CostCentre/State.hs 4 additions, 0 deletionscompiler/GHC/Types/CostCentre/State.hs
- compiler/GHC/Types/ForeignCall.hs 30 additions, 0 deletionscompiler/GHC/Types/ForeignCall.hs
- compiler/GHC/Types/Literal.hs 25 additions, 0 deletionscompiler/GHC/Types/Literal.hs
- compiler/GHC/Types/SourceFile.hs 9 additions, 0 deletionscompiler/GHC/Types/SourceFile.hs
- compiler/GHC/Types/SrcLoc.hs 16 additions, 3 deletionscompiler/GHC/Types/SrcLoc.hs
- compiler/GHC/Types/Var.hs 4 additions, 0 deletionscompiler/GHC/Types/Var.hs
- compiler/GHC/Unit/Module/Deps.hs 20 additions, 0 deletionscompiler/GHC/Unit/Module/Deps.hs
- compiler/GHC/Unit/Module/ModIface.hs 40 additions, 46 deletionscompiler/GHC/Unit/Module/ModIface.hs
Loading
Please register or sign in to comment