summaryrefslogtreecommitdiff
path: root/compiler/iface/BinIface.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/iface/BinIface.hs')
-rw-r--r--compiler/iface/BinIface.hs64
1 files changed, 25 insertions, 39 deletions
diff --git a/compiler/iface/BinIface.hs b/compiler/iface/BinIface.hs
index eaf5c070ba..d7d6311a7e 100644
--- a/compiler/iface/BinIface.hs
+++ b/compiler/iface/BinIface.hs
@@ -462,7 +462,6 @@ data BinDictionary = BinDictionary {
-- CostCentre
{-! for IsCafCC derive: Binary !-}
-{-! for IsDupdCC derive: Binary !-}
{-! for CostCentre derive: Binary !-}
@@ -911,26 +910,14 @@ instance Binary IsCafCC where
0 -> do return CafCC
_ -> do return NotCafCC
-instance Binary IsDupdCC where
- put_ bh OriginalCC = do
- putByte bh 0
- put_ bh DupdCC = do
- putByte bh 1
- get bh = do
- h <- getByte bh
- case h of
- 0 -> do return OriginalCC
- _ -> do return DupdCC
-
instance Binary CostCentre where
put_ bh NoCostCentre = do
putByte bh 0
- put_ bh (NormalCC aa ab ac ad) = do
+ put_ bh (NormalCC aa ab ac) = do
putByte bh 1
put_ bh aa
put_ bh ab
put_ bh ac
- put_ bh ad
put_ bh (AllCafsCC ae) = do
putByte bh 2
put_ bh ae
@@ -941,8 +928,7 @@ instance Binary CostCentre where
1 -> do aa <- get bh
ab <- get bh
ac <- get bh
- ad <- get bh
- return (NormalCC aa ab ac ad)
+ return (NormalCC aa ab ac)
_ -> do ae <- get bh
return (AllCafsCC ae)
@@ -1085,7 +1071,7 @@ instance Binary IfaceExpr where
putByte bh 7
put_ bh al
put_ bh am
- put_ bh (IfaceNote an ao) = do
+ put_ bh (IfaceTick an ao) = do
putByte bh 8
put_ bh an
put_ bh ao
@@ -1103,10 +1089,6 @@ instance Binary IfaceExpr where
putByte bh 12
put_ bh ie
put_ bh ico
- put_ bh (IfaceTick m ix) = do
- putByte bh 13
- put_ bh m
- put_ bh ix
get bh = do
h <- getByte bh
case h of
@@ -1134,7 +1116,7 @@ instance Binary IfaceExpr where
return (IfaceLet al am)
8 -> do an <- get bh
ao <- get bh
- return (IfaceNote an ao)
+ return (IfaceTick an ao)
9 -> do ap <- get bh
return (IfaceLit ap)
10 -> do as <- get bh
@@ -1145,9 +1127,6 @@ instance Binary IfaceExpr where
12 -> do ie <- get bh
ico <- get bh
return (IfaceCast ie ico)
- 13 -> do m <- get bh
- ix <- get bh
- return (IfaceTick m ix)
_ -> panic ("get IfaceExpr " ++ show h)
instance Binary IfaceConAlt where
@@ -1288,21 +1267,28 @@ instance Binary IfaceUnfolding where
_ -> do e <- get bh
return (IfCompulsory e)
-instance Binary IfaceNote where
- put_ bh (IfaceSCC aa) = do
- putByte bh 0
- put_ bh aa
- put_ bh (IfaceCoreNote s) = do
- putByte bh 4
- put_ bh s
+instance Binary IfaceTickish where
+ put_ bh (IfaceHpcTick m ix) = do
+ putByte bh 0
+ put_ bh m
+ put_ bh ix
+ put_ bh (IfaceSCC cc tick push) = do
+ putByte bh 1
+ put_ bh cc
+ put_ bh tick
+ put_ bh push
+
get bh = do
- h <- getByte bh
- case h of
- 0 -> do aa <- get bh
- return (IfaceSCC aa)
- 4 -> do ac <- get bh
- return (IfaceCoreNote ac)
- _ -> panic ("get IfaceNote " ++ show h)
+ h <- getByte bh
+ case h of
+ 0 -> do m <- get bh
+ ix <- get bh
+ return (IfaceHpcTick m ix)
+ 1 -> do cc <- get bh
+ tick <- get bh
+ push <- get bh
+ return (IfaceSCC cc tick push)
+ _ -> panic ("get IfaceTickish " ++ show h)
-------------------------------------------------------------------------
-- IfaceDecl and friends