[GHC] #10022: Clean up GHC.RTS.Flags

#10022: Clean up GHC.RTS.Flags -------------------------------------+------------------------------------- Reporter: | Owner: thoughtpolice | Status: new Type: bug | Milestone: 7.12.1 Priority: normal | Version: 7.10.1-rc1 Component: | Operating System: Unknown/Multiple libraries/base | Type of failure: None/Unknown Keywords: | Blocked By: Architecture: | Related Tickets: #9970 Unknown/Multiple | Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- There's some cleanup to do for `GHC.RTS.Flags`, based on the comments in https://ghc.haskell.org/trac/ghc/ticket/5364#comment:11 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10022 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10022: Clean up GHC.RTS.Flags -------------------------------------+------------------------------------- Reporter: thoughtpolice | Owner: ekmett Type: bug | Status: new Priority: normal | Milestone: 7.12.1 Component: Core Libraries | Version: 7.10.1-rc1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9970 | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * cc: core-libraries-committee@… (added) * owner: => ekmett * component: libraries/base => Core Libraries -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10022#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#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
participants (1)
-
GHC