diff options
Diffstat (limited to 'libraries')
| -rw-r--r-- | libraries/base/GHC/RTS/Flags.hsc | 37 | ||||
| -rw-r--r-- | libraries/base/tests/all.T | 2 | ||||
| -rw-r--r-- | libraries/ghc-heap/tests/all.T | 6 | ||||
| m--------- | libraries/stm | 0 |
4 files changed, 28 insertions, 17 deletions
diff --git a/libraries/base/GHC/RTS/Flags.hsc b/libraries/base/GHC/RTS/Flags.hsc index 249bcd5a98..913344c166 100644 --- a/libraries/base/GHC/RTS/Flags.hsc +++ b/libraries/base/GHC/RTS/Flags.hsc @@ -150,21 +150,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 ) @@ -291,6 +292,8 @@ data TraceFlags = TraceFlags , timestamp :: Bool -- ^ show timestamp in stderr output , traceScheduler :: Bool -- ^ trace scheduler events , traceGc :: Bool -- ^ trace GC events + , traceNonmovingGc + :: Bool -- ^ trace nonmoving GC heap census samples , sparksSampled :: Bool -- ^ trace spark events by a sampled method , sparksFull :: Bool -- ^ trace spark events 100% accurately , user :: Bool -- ^ trace user events (emitted from Haskell code) @@ -463,6 +466,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)) @@ -523,6 +528,8 @@ getTraceFlags = do <*> (toBool <$> (#{peek TRACE_FLAGS, gc} ptr :: IO CBool)) <*> (toBool <$> + (#{peek TRACE_FLAGS, nonmoving_gc} ptr :: IO CBool)) + <*> (toBool <$> (#{peek TRACE_FLAGS, sparks_sampled} ptr :: IO CBool)) <*> (toBool <$> (#{peek TRACE_FLAGS, sparks_full} ptr :: IO CBool)) diff --git a/libraries/base/tests/all.T b/libraries/base/tests/all.T index 61367e4491..2d4119e543 100644 --- a/libraries/base/tests/all.T +++ b/libraries/base/tests/all.T @@ -74,7 +74,7 @@ test('length001', # excessive amounts of stack space. So we specifically set a low # stack limit and mark it as failing under a few conditions. [extra_run_opts('+RTS -K8m -RTS'), - expect_fail_for(['normal', 'threaded1', 'llvm'])], + expect_fail_for(['normal', 'threaded1', 'llvm', 'nonmoving', 'nonmoving_thr', 'nonmoving_thr_ghc'])], compile_and_run, ['']) test('ratio001', normal, compile_and_run, ['']) diff --git a/libraries/ghc-heap/tests/all.T b/libraries/ghc-heap/tests/all.T index afa224fde7..89e6f47ecb 100644 --- a/libraries/ghc-heap/tests/all.T +++ b/libraries/ghc-heap/tests/all.T @@ -2,7 +2,11 @@ test('heap_all', [when(have_profiling(), extra_ways(['prof'])), # These ways produce slightly different heap representations. # Currently we don't test them. - omit_ways(['ghci', 'hpc']) + omit_ways(['ghci', 'hpc', + 'nonmoving', 'nonmoving_thr', 'nonmoving_thr_ghc']), + # The debug RTS initializes some fields with 0xaa and so + # this test spuriously fails. + when(compiler_debugged(), skip) ], compile_and_run, ['']) diff --git a/libraries/stm b/libraries/stm -Subproject a925aaa505d9259f26e2f3fb2ffa2e9b66b4874 +Subproject f9979c926ca539362b5a2412359750e8b498e53 |
