Commit 1967a52d authored by Ryan Scott's avatar Ryan Scott Committed by Ben Gamari

Export more types from GHC.RTS.Flags (#9970)

Export the data types `GiveGCStats`, `DoCostCentres`, `DoHeapProfiles`,
and `DoTrace`, as well as the type synonyms `Time` and `RtsNat`. The
above data types appear as fields in the `-Stats` data types in
`GHC.RTS.Flags`, but since they only have `Show` instances, it is
practically impossible to due anything useful with the above types
unless they are exported.

Reviewers: hvr, ekmett, austin, ezyang, bgamari

Reviewed By: bgamari

Subscribers: thomie, bgamari

Differential Revision: https://phabricator.haskell.org/D1030

GHC Trac Issues: #9970
parent 00c8d4d5
......@@ -9,13 +9,19 @@
-- @since 4.8.0.0
--
module GHC.RTS.Flags
( RTSFlags (..)
( RtsTime
, RtsNat
, RTSFlags (..)
, GiveGCStats (..)
, GCFlags (..)
, ConcFlags (..)
, MiscFlags (..)
, DebugFlags (..)
, DoCostCentres (..)
, CCFlags (..)
, DoHeapProfile (..)
, ProfFlags (..)
, DoTrace (..)
, TraceFlags (..)
, TickyFlags (..)
, getRTSFlags
......@@ -48,7 +54,7 @@ import GHC.Show
import GHC.Word
-- | @'Time'@ is defined as a @'StgWord64'@ in @stg/Types.h@
type Time = Word64
type RtsTime = Word64
-- | @'nat'@ defined in @rts/Types.h@
type RtsNat = #{type unsigned int}
......@@ -98,19 +104,19 @@ data GCFlags = GCFlags
-- ^ use "mostly mark-sweep" instead of copying for the oldest generation
, ringBell :: Bool
, frontpanel :: Bool
, idleGCDelayTime :: Time
, idleGCDelayTime :: RtsTime
, doIdleGC :: Bool
, heapBase :: Word -- ^ address to ask the OS for memory
, allocLimitGrace :: Word
} deriving (Show)
data ConcFlags = ConcFlags
{ ctxtSwitchTime :: Time
{ ctxtSwitchTime :: RtsTime
, ctxtSwitchTicks :: Int
} deriving (Show)
data MiscFlags = MiscFlags
{ tickInterval :: Time
{ tickInterval :: RtsTime
, installSignalHandlers :: Bool
, machineReadable :: Bool
, linkerMemBase :: Word
......@@ -198,8 +204,8 @@ instance Enum DoHeapProfile where
data ProfFlags = ProfFlags
{ doHeapProfile :: DoHeapProfile
, heapProfileInterval :: Time -- ^ time between samples
, heapProfileIntervalTicks :: Word -- ^ ticks between samples (derived)
, heapProfileInterval :: RtsTime -- ^ time between samples
, heapProfileIntervalTicks :: Word -- ^ ticks between samples (derived)
, includeTSOs :: Bool
, showCCSOnException :: Bool
, maxRetainerSetSize :: Word
......
......@@ -42,6 +42,9 @@
* Generalise `forever` from `Monad` to `Applicative`
* Exported `GiveGCStats`, `DoCostCentres`, `DoHeapProfile`, `DoTrace`,
`RtsTime`, and `RtsNat` from `GHC.RTS.Flags`
## 4.8.1.0 *TBA*
* Bundled with GHC 7.10.2
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment