summaryrefslogtreecommitdiff
path: root/compiler/utils/Binary.hs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-08-21 15:50:28 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-08-21 15:50:28 +0000
commit1631a17da7e82f937e7ddbb49c747bc97d84ca69 (patch)
tree53496af147ad36f7b181f3664aff2f384adb2782 /compiler/utils/Binary.hs
parent1118ecad5c51fcca4aa2d219a0ba2b759a73d567 (diff)
downloadhaskell-1631a17da7e82f937e7ddbb49c747bc97d84ca69.tar.gz
Use explicit Word32/Int32 in place of Int in the on-disk .hi file
For: FastStrings, Names, and Bin values. This makes .hi files smaller on 64-bit platforms, while also making the format a bit more robust.
Diffstat (limited to 'compiler/utils/Binary.hs')
-rw-r--r--compiler/utils/Binary.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/utils/Binary.hs b/compiler/utils/Binary.hs
index e633f35b3a..249480afee 100644
--- a/compiler/utils/Binary.hs
+++ b/compiler/utils/Binary.hs
@@ -551,8 +551,8 @@ instance (Integral a, Binary a) => Binary (Ratio a) where
#endif
instance Binary (Bin a) where
- put_ bh (BinPtr i) = put_ bh i
- get bh = do i <- get bh; return (BinPtr i)
+ put_ bh (BinPtr i) = put_ bh (fromIntegral i :: Int32)
+ get bh = do i <- get bh; return (BinPtr (fromIntegral (i :: Int32)))
-- -----------------------------------------------------------------------------
-- Instances for Data.Typeable stuff
@@ -707,7 +707,7 @@ instance Binary FastString where
get bh = do
j <- get bh
- return $! (ud_dict (getUserData bh) ! j)
+ return $! (ud_dict (getUserData bh) ! (fromIntegral (j :: Word32)))
-- Here to avoid loop