diff options
Diffstat (limited to 'compiler/GHC')
-rw-r--r-- | compiler/GHC/ByteCode/Types.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/Types/Name/Env.hs | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/compiler/GHC/ByteCode/Types.hs b/compiler/GHC/ByteCode/Types.hs index 673838654d..ed1bd9bf13 100644 --- a/compiler/GHC/ByteCode/Types.hs +++ b/compiler/GHC/ByteCode/Types.hs @@ -68,7 +68,7 @@ instance Outputable CompiledByteCode where seqCompiledByteCode :: CompiledByteCode -> () seqCompiledByteCode CompiledByteCode{..} = rnf bc_bcos `seq` - rnf (nameEnvElts bc_itbls) `seq` + seqEltsNameEnv rnf bc_itbls `seq` rnf bc_ffis `seq` rnf bc_strs `seq` rnf (fmap seqModBreaks bc_breaks) diff --git a/compiler/GHC/Types/Name/Env.hs b/compiler/GHC/Types/Name/Env.hs index 6bab3f7c16..6394c986d5 100644 --- a/compiler/GHC/Types/Name/Env.hs +++ b/compiler/GHC/Types/Name/Env.hs @@ -23,6 +23,7 @@ module GHC.Types.Name.Env ( plusNameEnv, plusNameEnv_C, plusNameEnv_CD, plusNameEnv_CD2, alterNameEnv, lookupNameEnv, lookupNameEnv_NF, delFromNameEnv, delListFromNameEnv, elemNameEnv, mapNameEnv, disjointNameEnv, + seqEltsNameEnv, DNameEnv, @@ -119,6 +120,7 @@ filterNameEnv :: (elt -> Bool) -> NameEnv elt -> NameEnv elt anyNameEnv :: (elt -> Bool) -> NameEnv elt -> Bool mapNameEnv :: (elt1 -> elt2) -> NameEnv elt1 -> NameEnv elt2 disjointNameEnv :: NameEnv a -> NameEnv a -> Bool +seqEltsNameEnv :: (elt -> ()) -> NameEnv elt -> () nonDetNameEnvElts x = nonDetEltsUFM x emptyNameEnv = emptyUFM @@ -145,6 +147,7 @@ delListFromNameEnv x y = delListFromUFM x y filterNameEnv x y = filterUFM x y anyNameEnv f x = foldUFM ((||) . f) False x disjointNameEnv x y = disjointUFM x y +seqEltsNameEnv seqElt x = seqEltsUFM seqElt x lookupNameEnv_NF env n = expectJust "lookupNameEnv_NF" (lookupNameEnv env n) |