Generalise the type of fieldSz and use it more
authorIan Lynagh <ian@well-typed.com>
Mon, 8 Apr 2013 15:12:08 +0000 (16:12 +0100)
committerIan Lynagh <ian@well-typed.com>
Tue, 9 Apr 2013 10:53:35 +0000 (11:53 +0100)
compiler/ghci/ByteCodeItbls.lhs

index f152473..c79e08d 100644 (file)
@@ -285,8 +285,8 @@ data StgConInfoTable = StgConInfoTable {
 
 sizeOfConItbl :: StgConInfoTable -> Int
 sizeOfConItbl conInfoTable
-      = sum [ sizeOf (conDesc conInfoTable)
-            , sizeOf (infoTable conInfoTable) ]
+      = sum [ fieldSz conDesc conInfoTable
+            , fieldSz infoTable conInfoTable ]
 
 pokeConItbl :: DynFlags -> Ptr StgConInfoTable -> Ptr StgConInfoTable -> StgConInfoTable
             -> IO ()
@@ -374,7 +374,7 @@ instance Storable StgInfoTable where
 #endif
               }
 
-fieldSz :: (Storable a, Storable b) => (a -> b) -> a -> Int
+fieldSz :: Storable b => (a -> b) -> a -> Int
 fieldSz sel x = sizeOf (sel x)
 
 newtype State s m a = State (s -> m (s, a))