Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : supercompiler
http://hackage.haskell.org/trac/ghc/changeset/b61b975bd592b6cc6f92083ec92f32c229b3faf6 >--------------------------------------------------------------- commit b61b975bd592b6cc6f92083ec92f32c229b3faf6 Author: Max Bolingbroke <batterseapo...@hotmail.com> Date: Thu Oct 6 09:29:03 2011 +0100 Wasn't releasing deeds when destroying identity CastIt >--------------------------------------------------------------- .../Supercompile/Evaluator/Evaluate.hs | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs b/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs index 01a6ce9..a6198a4 100644 --- a/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs +++ b/compiler/supercompile/Supercompile/Evaluator/Evaluate.hs @@ -127,8 +127,8 @@ step' normalising ei_state = Case e x ty alts -> go (deeds, Heap h ids', Tagged tg (Scrutinise x' (renameType ids rn ty) (rn', alts)) : k, (rn, e)) where (ids', rn', x') = renameNonRecBinder ids rn x Cast e co - | isReflCo co' -> go (deeds, heap, k, (rn, e)) - | otherwise -> go (deeds, heap, Tagged tg (CastIt co') : k, (rn, e)) + | isReflCo co' -> go (deeds + 1, heap, k, (rn, e)) + | otherwise -> go (deeds, heap, Tagged tg (CastIt co') : k, (rn, e)) where co' = renameCoercion ids rn co Let x e1 e2 | isUnLiftedType (idType x) -> go (deeds, Heap h ids', Tagged tg (StrictLet x' (rn', e2)) : k, in_e1) _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc