X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcodeGen%2FSMRep.lhs;h=1845c449d471543af666d320f8fd16dfcf80e2c3;hb=e4417dcd4679da9c6b18c02ff667199c572bed89;hp=6c57a4ee67b1db49535a17628c34633a54589156;hpb=207802589da0d23c3f16195f453b24a1e46e322d;p=ghc-hetmet.git diff --git a/compiler/codeGen/SMRep.lhs b/compiler/codeGen/SMRep.lhs index 6c57a4e..1845c44 100644 --- a/compiler/codeGen/SMRep.lhs +++ b/compiler/codeGen/SMRep.lhs @@ -9,6 +9,13 @@ This is here, rather than in ClosureInfo, just to keep nhc happy. Other modules should access this info through ClosureInfo. \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module SMRep ( -- Words and bytes StgWord, StgHalfWord, @@ -46,6 +53,7 @@ import MachOp import StaticFlags import Constants import Outputable +import FastString import Data.Word \end{code} @@ -112,8 +120,10 @@ entry to the garbage collector. \begin{code} data CgRep = VoidArg -- Void - | PtrArg -- Word-sized Ptr + | PtrArg -- Word-sized heap pointer, followed + -- by the garbage collector | NonPtrArg -- Word-sized non-pointer + -- (including addresses not followed by GC) | LongArg -- 64-bit non-pointer | FloatArg -- 32-bit float | DoubleArg -- 64-bit float @@ -304,7 +314,7 @@ smRepClosureType :: SMRep -> Maybe ClosureType smRepClosureType (GenericRep _ _ _ ty) = Just ty smRepClosureType BlackHoleRep = Nothing -smRepClosureTypeInt :: SMRep -> Int +smRepClosureTypeInt :: SMRep -> StgHalfWord smRepClosureTypeInt (GenericRep False 1 0 Constr) = CONSTR_1_0 smRepClosureTypeInt (GenericRep False 0 1 Constr) = CONSTR_0_1 smRepClosureTypeInt (GenericRep False 2 0 Constr) = CONSTR_2_0 @@ -339,7 +349,7 @@ smRepClosureTypeInt rep = panic "smRepClosuretypeint" -- We export these ones -rET_SMALL = (RET_SMALL :: Int) -rET_BIG = (RET_BIG :: Int) +rET_SMALL = (RET_SMALL :: StgHalfWord) +rET_BIG = (RET_BIG :: StgHalfWord) \end{code}