
#10022: Clean up GHC.RTS.Flags -------------------------------------+------------------------------------- Reporter: thoughtpolice | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 7.10.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #9970 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): For the record, the original proposal was,
btw, I noticed that the API exposed by GHC.RTS.Flags varies depending on `unsigned int`:
{{{#!hs -- | @'nat'@ defined in @rts/Types.h@ type Nat = #{type unsigned int}
data GCFlags = GCFlags { statsFile :: Maybe FilePath , giveStats :: GiveGCStats , maxStkSize :: Nat , initialStkSize :: Nat , stkChunkSize :: Nat ... }}}
Is this really a good idea rather simply using `Word` which I assume should always be large enough to contain the range of `CULong`?
Moreover, shouldn't most of those small-fields be `!`-ed to avoid thunks and unecessary pointer chasing?
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10022#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler