[GHC] #5364: Access RTS flag values from inside Haskell programs

GHC ghc-devs at haskell.org
Mon Dec 29 08:21:02 UTC 2014


#5364: Access RTS flag values from inside Haskell programs
-------------------------------------+-------------------------------------
              Reporter:  ezyang      |            Owner:  ekmett
                  Type:  feature     |           Status:  new
  request                            |        Milestone:  7.10.1
              Priority:  normal      |          Version:  7.3
             Component:  Core        |         Keywords:
  Libraries                          |     Architecture:  Unknown/Multiple
            Resolution:              |       Difficulty:  Unknown
      Operating System:              |       Blocked By:
  Unknown/Multiple                   |  Related Tickets:
       Type of failure:              |
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D306   |
-------------------------------------+-------------------------------------
Changes (by hvr):

 * milestone:  7.12.1 => 7.10.1


Comment:

 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/5364#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list