[commit: hoopl] master: small optimisations to blockSnoc and blockCons (2c5bc7b)
Simon Marlow
marlowsd at gmail.com
Tue Jul 31 09:28:06 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/hoopl
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/2c5bc7b1814663e42587313da17d8c610cf0cc86
>---------------------------------------------------------------
commit 2c5bc7b1814663e42587313da17d8c610cf0cc86
Author: Simon Marlow <marlowsd at gmail.com>
Date: Tue Jul 17 10:12:31 2012 +0100
small optimisations to blockSnoc and blockCons
>---------------------------------------------------------------
src/Compiler/Hoopl/Block.hs | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/Compiler/Hoopl/Block.hs b/src/Compiler/Hoopl/Block.hs
index 920ba73..0acbd27 100644
--- a/src/Compiler/Hoopl/Block.hs
+++ b/src/Compiler/Hoopl/Block.hs
@@ -125,8 +125,8 @@ emptyBlock = BNil
blockCons :: n O O -> Block n O x -> Block n O x
blockCons n b = case b of
- BlockOC b l -> BlockOC (n `BCons` b) l
- BNil{} -> n `BCons` b
+ BlockOC b l -> (BlockOC $! (n `blockCons` b)) l
+ BNil{} -> BMiddle n
BMiddle{} -> n `BCons` b
BCat{} -> n `BCons` b
BSnoc{} -> n `BCons` b
@@ -134,8 +134,8 @@ blockCons n b = case b of
blockSnoc :: Block n e O -> n O O -> Block n e O
blockSnoc b n = case b of
- BlockCO f b -> BlockCO f (b `BSnoc` n)
- BNil{} -> b `BSnoc` n
+ BlockCO f b -> BlockCO f $! (b `blockSnoc` n)
+ BNil{} -> BMiddle n
BMiddle{} -> b `BSnoc` n
BCat{} -> b `BSnoc` n
BSnoc{} -> b `BSnoc` n
More information about the Cvs-libraries
mailing list