[commit: ghc] wip/nonmoving-gc: rts: Tracing support for nonmoving collection events (1816bec)

git at git.haskell.org git at git.haskell.org
Wed Feb 6 14:10:42 UTC 2019


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

On branch  : wip/nonmoving-gc
Link       : http://ghc.haskell.org/trac/ghc/changeset/1816becb64b37bff93d6ac3a3d6813a4c29b36fd/ghc

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

commit 1816becb64b37bff93d6ac3a3d6813a4c29b36fd
Author: Ben Gamari <ben at well-typed.com>
Date:   Tue Feb 5 11:51:52 2019 -0500

    rts: Tracing support for nonmoving collection events
    
    This introduces a few events to mark key points in the nonmoving
    garbage collection cycle. These include:
    
     * `EVENT_CONC_MARK_BEGIN`, denoting the beginning of a round of
       marking. This may happen more than once in a single major collection
       since we the major collector iterates until it hits a fixed point.
    
     * `EVENT_CONC_MARK_END`, denoting the end of a round of marking.
    
     * `EVENT_CONC_SYNC_BEGIN`, denoting the beginning of the post-mark
       synchronization phase
    
     * `EVENT_CONC_UPD_REM_SET_FLUSH`, indicating that a capability has
       flushed its update remembered set.
    
     * `EVENT_CONC_SYNC_END`, denoting that all mutators have flushed their
       update remembered sets.
    
     * `EVENT_CONC_SWEEP_BEGIN`, denoting the beginning of the sweep portion
       of the major collection.
    
     * `EVENT_CONC_SWEEP_END`, denoting the end of the sweep portion of the
       major collection.


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

1816becb64b37bff93d6ac3a3d6813a4c29b36fd
 includes/rts/EventLogFormat.h | 10 ++++++++-
 rts/Trace.c                   | 43 +++++++++++++++++++++++++++++++++++
 rts/Trace.h                   | 16 +++++++++++++
 rts/eventlog/EventLog.c       | 52 ++++++++++++++++++++++++++++++++++++++++++-
 rts/eventlog/EventLog.h       |  7 ++++++
 rts/sm/NonMoving.c            |  3 +++
 rts/sm/NonMovingMark.c        |  5 +++++
 7 files changed, 134 insertions(+), 2 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 1816becb64b37bff93d6ac3a3d6813a4c29b36fd


More information about the ghc-commits mailing list