X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FnativeGen%2FRegAlloc%2FLinear%2FBase.hs;fp=compiler%2FnativeGen%2FRegAlloc%2FLinear%2FBase.hs;h=fc8d4edef6f17cb0cfd9a9f9332e6248cc68cee6;hp=087ab9c8156d0d49ed7f4cd747c82f798575144e;hb=59244201b672b9d6f728edcf7e2e02a61fbe278f;hpb=6fe4f8d560bedfd21289a1a9f9360a371b3a5246 diff --git a/compiler/nativeGen/RegAlloc/Linear/Base.hs b/compiler/nativeGen/RegAlloc/Linear/Base.hs index 087ab9c..fc8d4ed 100644 --- a/compiler/nativeGen/RegAlloc/Linear/Base.hs +++ b/compiler/nativeGen/RegAlloc/Linear/Base.hs @@ -101,7 +101,7 @@ data RegAllocStats -- | The register alloctor state -data RA_State +data RA_State freeRegs = RA_State { @@ -110,7 +110,7 @@ data RA_State ra_blockassig :: BlockAssignment -- | free machine registers - , ra_freeregs :: {-#UNPACK#-}!FreeRegs + , ra_freeregs :: !freeRegs -- | assignment of temps to locations , ra_assig :: RegMap Loc @@ -131,7 +131,7 @@ data RA_State -- | The register allocator monad type. -newtype RegM a - = RegM { unReg :: RA_State -> (# RA_State, a #) } +newtype RegM freeRegs a + = RegM { unReg :: RA_State freeRegs -> (# RA_State freeRegs, a #) }