[commit: ghc] master: Give packHalfWordsCLit a more specific type (98903b9)

Ian Lynagh <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/98903b9626ab332eeac9d4baeb6854dd47272e8c

>---------------------------------------------------------------

commit 98903b9626ab332eeac9d4baeb6854dd47272e8c
Author: Ian Lynagh <[email protected]>
Date:   Tue Sep 18 15:32:36 2012 +0100

    Give packHalfWordsCLit a more specific type
    
    I'm not sure if there's a reason why the HeapRep constructor takes
    2 WordOffs rather than 2 StgHalfWords.

>---------------------------------------------------------------

 compiler/cmm/CmmInfo.hs  |    2 +-
 compiler/cmm/CmmUtils.hs |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/compiler/cmm/CmmInfo.hs b/compiler/cmm/CmmInfo.hs
index 0735937..a93d115 100644
--- a/compiler/cmm/CmmInfo.hs
+++ b/compiler/cmm/CmmInfo.hs
@@ -183,7 +183,7 @@ mkInfoTableContents dflags
        ; return (prof_data ++ liveness_data, (std_info, srt_label)) }
 
   | HeapRep _ ptrs nonptrs closure_type <- smrep
-  = do { let layout  = packHalfWordsCLit dflags ptrs nonptrs
+  = do { let layout  = packHalfWordsCLit dflags (fromIntegral ptrs) (fromIntegral nonptrs)
        ; (prof_lits, prof_data) <- mkProfLits dflags prof
        ; let (srt_label, srt_bitmap) = mkSRTLit dflags srt
        ; (mb_srt_field, mb_layout, extra_bits, ct_data)
diff --git a/compiler/cmm/CmmUtils.hs b/compiler/cmm/CmmUtils.hs
index bff4804..e4d1c9e 100644
--- a/compiler/cmm/CmmUtils.hs
+++ b/compiler/cmm/CmmUtils.hs
@@ -158,7 +158,7 @@ mkRODataLits lbl lits
 mkWordCLit :: DynFlags -> StgWord -> CmmLit
 mkWordCLit dflags wd = CmmInt (fromIntegral wd) (wordWidth dflags)
 
-packHalfWordsCLit :: (Integral a, Integral b) => DynFlags -> a -> b -> CmmLit
+packHalfWordsCLit :: DynFlags -> StgHalfWord -> StgHalfWord -> CmmLit
 -- Make a single word literal in which the lower_half_word is
 -- at the lower address, and the upper_half_word is at the
 -- higher address
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.