[commit: ghc] master: Export more types from GHC.RTS.Flags (#9970) (1967a52)
git at git.haskell.org
git at git.haskell.org
Tue Jul 7 19:20:42 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/1967a52df5bea5539e46393fa0da0a1ebd6d9db8/ghc
>---------------------------------------------------------------
commit 1967a52df5bea5539e46393fa0da0a1ebd6d9db8
Author: RyanGlScott <ryan.gl.scott at gmail.com>
Date: Tue Jul 7 21:20:07 2015 +0200
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
>---------------------------------------------------------------
1967a52df5bea5539e46393fa0da0a1ebd6d9db8
libraries/base/GHC/RTS/Flags.hsc | 20 +++++++++++++-------
libraries/base/changelog.md | 3 +++
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/libraries/base/GHC/RTS/Flags.hsc b/libraries/base/GHC/RTS/Flags.hsc
index 308aafb..d2afcab 100644
--- a/libraries/base/GHC/RTS/Flags.hsc
+++ b/libraries/base/GHC/RTS/Flags.hsc
@@ -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
diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md
index bb09199..53bcb10 100644
--- a/libraries/base/changelog.md
+++ b/libraries/base/changelog.md
@@ -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
More information about the ghc-commits
mailing list