Remove unused imports
[ghc-hetmet.git] / compiler / ghci / ByteCodeAsm.lhs
index c6c7a0d..b1ef67e 100644 (file)
@@ -30,7 +30,6 @@ import PrimOp
 import Constants
 import FastString
 import SMRep
-import FiniteMap
 import Outputable
 
 import Control.Monad   ( foldM )
@@ -41,13 +40,9 @@ import Data.Array.Unboxed ( listArray )
 import Data.Array.Base ( UArray(..) )
 import Data.Array.ST   ( castSTUArray )
 import Foreign
-import Data.Bits
-import Data.Int                ( Int64 )
 import Data.Char       ( ord )
 
 import GHC.Base                ( ByteArray#, MutableByteArray#, RealWorld )
-import GHC.IOBase      ( IO(..) )
-import GHC.Ptr         ( Ptr(..) )
 
 -- -----------------------------------------------------------------------------
 -- Unlinked BCOs
@@ -154,10 +149,10 @@ assembleBCO (ProtoBCO nm instrs bitmap bsize arity _origin _malloced)
              insns_arr
                 | n_insns > 65535 = panic "linkBCO: >= 64k insns in BCO"
                  | otherwise = mkInstrArray n_insns asm_insns
-             insns_barr = case insns_arr of UArray _lo _hi _n barr -> barr
+             !insns_barr = case insns_arr of UArray _lo _hi _n barr -> barr
 
             bitmap_arr = mkBitmapArray bsize bitmap
-             bitmap_barr = case bitmap_arr of UArray _lo _hi _n barr -> barr
+             !bitmap_barr = case bitmap_arr of UArray _lo _hi _n barr -> barr
 
          let ul_bco = UnlinkedBCO nm arity insns_barr bitmap_barr final_lits final_ptrs 
 
@@ -377,15 +372,15 @@ mkBits findLabel st proto_insns
                return (sizeSS st_l0, (st_i0,st_l1,st_p0))
 
 #ifdef mingw32_TARGET_OS
-       literal st (MachLabel fs (Just sz)) 
+       literal st (MachLabel fs (Just sz) _)
             = litlabel st (appendFS fs (mkFastString ('@':show sz)))
         -- On Windows, stdcall labels have a suffix indicating the no. of 
         -- arg words, e.g. foo@8.  testcase: ffi012(ghci)
 #endif
-       literal st (MachLabel fs _) = litlabel st fs
+       literal st (MachLabel fs _ _) = litlabel st fs
        literal st (MachWord w)     = int st (fromIntegral w)
        literal st (MachInt j)      = int st (fromIntegral j)
-       literal st MachNullAddr     = int st (fromIntegral 0)
+       literal st MachNullAddr     = int st 0
        literal st (MachFloat r)    = float st (fromRational r)
        literal st (MachDouble r)   = double st (fromRational r)
        literal st (MachChar c)     = int st (ord c)