X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Futils%2FUniqFM.lhs;h=57295d50ae95f37a1d79499ec8bc48de6bb06a01;hb=d01159bb27d84898a48ef2783d3cb59d4ce0e30e;hp=61c858deb73a8996ca863990f9e566bd5b7d5298;hpb=5cdd6d82bb1a4c4b90ea2488dcf1fef25c3cc9a4;p=ghc-hetmet.git diff --git a/compiler/utils/UniqFM.lhs b/compiler/utils/UniqFM.lhs index 61c858d..57295d5 100644 --- a/compiler/utils/UniqFM.lhs +++ b/compiler/utils/UniqFM.lhs @@ -203,9 +203,9 @@ First, the DataType itself; which is either a Node, a Leaf, or an Empty. \begin{code} data UniqFM ele = EmptyUFM - | LeafUFM FastInt ele - | NodeUFM FastInt -- the switching - FastInt -- the delta + | LeafUFM !FastInt !ele + | NodeUFM !FastInt -- the switching + !FastInt -- the delta (UniqFM ele) (UniqFM ele) -- INVARIANT: the children of a NodeUFM are never EmptyUFMs @@ -698,7 +698,7 @@ insert_ele f (LeafUFM j old) i new (indexToRoot j)) (mkLeafUFM i new) (mkLeafUFM j old) - | j ==# i = mkLeafUFM j $! f old new + | j ==# i = mkLeafUFM j $ f old new | otherwise = mkLLNodeUFM (getCommonNodeUFMData (indexToRoot i)