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 _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
