[commit: ghc] wip/gc/nonmoving-nonconcurrent: rts: Introduce debug flag for non-moving GC (8c22738)

git at git.haskell.org git at git.haskell.org
Thu Feb 21 15:12:30 UTC 2019


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/gc/nonmoving-nonconcurrent
Link       : http://ghc.haskell.org/trac/ghc/changeset/8c22738dd28af667e431cd9dd772005ace840d6d/ghc

>---------------------------------------------------------------

commit 8c22738dd28af667e431cd9dd772005ace840d6d
Author: Ben Gamari <ben at well-typed.com>
Date:   Fri Jul 6 21:02:22 2018 -0400

    rts: Introduce debug flag for non-moving GC


>---------------------------------------------------------------

8c22738dd28af667e431cd9dd772005ace840d6d
 libraries/base/GHC/RTS/Flags.hsc | 33 ++++++++++++++++++---------------
 rts/Trace.h                      |  1 +
 2 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/libraries/base/GHC/RTS/Flags.hsc b/libraries/base/GHC/RTS/Flags.hsc
index 12cb828..2fe2dbc 100644
--- a/libraries/base/GHC/RTS/Flags.hsc
+++ b/libraries/base/GHC/RTS/Flags.hsc
@@ -149,21 +149,22 @@ data MiscFlags = MiscFlags
 --
 -- @since 4.8.0.0
 data DebugFlags = DebugFlags
-    { scheduler   :: Bool -- ^ @s@
-    , interpreter :: Bool -- ^ @i@
-    , weak        :: Bool -- ^ @w@
-    , gccafs      :: Bool -- ^ @G@
-    , gc          :: Bool -- ^ @g@
-    , block_alloc :: Bool -- ^ @b@
-    , sanity      :: Bool -- ^ @S@
-    , stable      :: Bool -- ^ @t@
-    , prof        :: Bool -- ^ @p@
-    , linker      :: Bool -- ^ @l@ the object linker
-    , apply       :: Bool -- ^ @a@
-    , stm         :: Bool -- ^ @m@
-    , squeeze     :: Bool -- ^ @z@ stack squeezing & lazy blackholing
-    , hpc         :: Bool -- ^ @c@ coverage
-    , sparks      :: Bool -- ^ @r@
+    { scheduler      :: Bool -- ^ @s@
+    , interpreter    :: Bool -- ^ @i@
+    , weak           :: Bool -- ^ @w@
+    , gccafs         :: Bool -- ^ @G@
+    , gc             :: Bool -- ^ @g@
+    , nonmoving_gc   :: Bool -- ^ @n@
+    , block_alloc    :: Bool -- ^ @b@
+    , sanity         :: Bool -- ^ @S@
+    , stable         :: Bool -- ^ @t@
+    , prof           :: Bool -- ^ @p@
+    , linker         :: Bool -- ^ @l@ the object linker
+    , apply          :: Bool -- ^ @a@
+    , stm            :: Bool -- ^ @m@
+    , squeeze        :: Bool -- ^ @z@ stack squeezing & lazy blackholing
+    , hpc            :: Bool -- ^ @c@ coverage
+    , sparks         :: Bool -- ^ @r@
     } deriving ( Show -- ^ @since 4.8.0.0
                )
 
@@ -460,6 +461,8 @@ getDebugFlags = do
              <*> (toBool <$>
                    (#{peek DEBUG_FLAGS, gc} ptr :: IO CBool))
              <*> (toBool <$>
+                   (#{peek DEBUG_FLAGS, nonmoving_gc} ptr :: IO CBool))
+             <*> (toBool <$>
                    (#{peek DEBUG_FLAGS, block_alloc} ptr :: IO CBool))
              <*> (toBool <$>
                    (#{peek DEBUG_FLAGS, sanity} ptr :: IO CBool))
diff --git a/rts/Trace.h b/rts/Trace.h
index 74b960c..a7c0cb2 100644
--- a/rts/Trace.h
+++ b/rts/Trace.h
@@ -50,6 +50,7 @@ enum CapsetType { CapsetTypeCustom = CAPSET_TYPE_CUSTOM,
 #define DEBUG_weak        RtsFlags.DebugFlags.weak
 #define DEBUG_gccafs      RtsFlags.DebugFlags.gccafs
 #define DEBUG_gc          RtsFlags.DebugFlags.gc
+#define DEBUG_nonmoving_gc RtsFlags.DebugFlags.nonmoving_gc
 #define DEBUG_block_alloc RtsFlags.DebugFlags.alloc
 #define DEBUG_sanity      RtsFlags.DebugFlags.sanity
 #define DEBUG_stable      RtsFlags.DebugFlags.stable



More information about the ghc-commits mailing list