projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
darcs-all: allow relative path for repo in local fs
[ghc-hetmet.git]
/
compiler
/
iface
/
BinIface.hs
diff --git
a/compiler/iface/BinIface.hs
b/compiler/iface/BinIface.hs
index
bea0de1
..
d79ec95
100644
(file)
--- a/
compiler/iface/BinIface.hs
+++ b/
compiler/iface/BinIface.hs
@@
-34,6
+34,7
@@
import Config
import FastMutInt
import Outputable
import FastMutInt
import Outputable
+import Data.List
import Data.Word
import Data.Array
import Data.IORef
import Data.Word
import Data.Array
import Data.IORef
@@
-294,7
+295,8
@@
instance Binary ModIface where
mi_fam_insts = fam_insts,
mi_rules = rules,
mi_rule_vers = rule_vers,
mi_fam_insts = fam_insts,
mi_rules = rules,
mi_rule_vers = rule_vers,
- mi_vect_info = vect_info }) = do
+ mi_vect_info = vect_info,
+ mi_hpc = hpc_info }) = do
put_ bh mod
put_ bh is_boot
put_ bh mod_vers
put_ bh mod
put_ bh is_boot
put_ bh mod_vers
@@
-312,6
+314,7
@@
instance Binary ModIface where
lazyPut bh rules
put_ bh rule_vers
put_ bh vect_info
lazyPut bh rules
put_ bh rule_vers
put_ bh vect_info
+ put_ bh hpc_info
get bh = do
mod_name <- get bh
get bh = do
mod_name <- get bh
@@
-331,6
+334,7
@@
instance Binary ModIface where
rules <- {-# SCC "bin_rules" #-} lazyGet bh
rule_vers <- get bh
vect_info <- get bh
rules <- {-# SCC "bin_rules" #-} lazyGet bh
rule_vers <- get bh
vect_info <- get bh
+ hpc_info <- get bh
return (ModIface {
mi_module = mod_name,
mi_boot = is_boot,
return (ModIface {
mi_module = mod_name,
mi_boot = is_boot,
@@
-350,6
+354,7
@@
instance Binary ModIface where
mi_rules = rules,
mi_rule_vers = rule_vers,
mi_vect_info = vect_info,
mi_rules = rules,
mi_rule_vers = rule_vers,
mi_vect_info = vect_info,
+ mi_hpc = hpc_info,
-- And build the cached values
mi_dep_fn = mkIfaceDepCache deprecs,
mi_fix_fn = mkIfaceFixCache fixities,
-- And build the cached values
mi_dep_fn = mkIfaceDepCache deprecs,
mi_fix_fn = mkIfaceFixCache fixities,
@@
-888,6
+893,10
@@
instance Binary IfaceExpr where
putByte bh 11
put_ bh ie
put_ bh ico
putByte bh 11
put_ bh ie
put_ bh ico
+ put_ bh (IfaceTick m ix) = do
+ putByte bh 12
+ put_ bh m
+ put_ bh ix
get bh = do
h <- getByte bh
case h of
get bh = do
h <- getByte bh
case h of
@@
-927,6
+936,9
@@
instance Binary IfaceExpr where
11 -> do ie <- get bh
ico <- get bh
return (IfaceCast ie ico)
11 -> do ie <- get bh
ico <- get bh
return (IfaceCast ie ico)
+ 12 -> do m <- get bh
+ ix <- get bh
+ return (IfaceTick m ix)
instance Binary IfaceConAlt where
put_ bh IfaceDefault = do
instance Binary IfaceConAlt where
put_ bh IfaceDefault = do
@@
-1062,12
+1074,13
@@
instance Binary IfaceDecl where
put_ bh a6
put_ bh a7
put_ bh a8
put_ bh a6
put_ bh a7
put_ bh a8
- put_ bh (IfaceSyn aq ar as at) = do
+ put_ bh (IfaceSyn a1 a2 a3 a4 a5) = do
putByte bh 3
putByte bh 3
- put_ bh (occNameFS aq)
- put_ bh ar
- put_ bh as
- put_ bh at
+ put_ bh (occNameFS a1)
+ put_ bh a2
+ put_ bh a3
+ put_ bh a4
+ put_ bh a5
put_ bh (IfaceClass a1 a2 a3 a4 a5 a6 a7) = do
putByte bh 4
put_ bh a1
put_ bh (IfaceClass a1 a2 a3 a4 a5 a6 a7) = do
putByte bh 4
put_ bh a1
@@
-1098,12
+1111,13
@@
instance Binary IfaceDecl where
occ <- return $! mkOccNameFS tcName a1
return (IfaceData occ a2 a3 a4 a5 a6 a7 a8)
3 -> do
occ <- return $! mkOccNameFS tcName a1
return (IfaceData occ a2 a3 a4 a5 a6 a7 a8)
3 -> do
- aq <- get bh
- ar <- get bh
- as <- get bh
- at <- get bh
- occ <- return $! mkOccNameFS tcName aq
- return (IfaceSyn occ ar as at)
+ a1 <- get bh
+ a2 <- get bh
+ a3 <- get bh
+ a4 <- get bh
+ a5 <- get bh
+ occ <- return $! mkOccNameFS tcName a1
+ return (IfaceSyn occ a2 a3 a4 a5)
_ -> do
a1 <- get bh
a2 <- get bh
_ -> do
a1 <- get bh
a2 <- get bh
@@
-1220,10
+1234,14
@@
instance Binary IfaceRule where
return (IfaceRule a1 a2 a3 a4 a5 a6 a7)
instance Binary IfaceVectInfo where
return (IfaceRule a1 a2 a3 a4 a5 a6 a7)
instance Binary IfaceVectInfo where
- put_ bh (IfaceVectInfo a1) = do
+ put_ bh (IfaceVectInfo a1 a2 a3) = do
put_ bh a1
put_ bh a1
+ put_ bh a2
+ put_ bh a3
get bh = do
a1 <- get bh
get bh = do
a1 <- get bh
- return (IfaceVectInfo a1)
+ a2 <- get bh
+ a3 <- get bh
+ return (IfaceVectInfo a1 a2 a3)