[commit: ghc] master: Add HeapView functionality (ec22f7d)

git at git.haskell.org git at git.haskell.org
Sun May 20 15:43:21 UTC 2018


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/ec22f7ddc81b40a9dbcf140e5cf44730cb776d00/ghc

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

commit ec22f7ddc81b40a9dbcf140e5cf44730cb776d00
Author: Patrick Dougherty <patrick.doc at ameritech.net>
Date:   Wed May 16 16:50:13 2018 -0400

    Add HeapView functionality
    
    This pulls parts of Joachim Breitner's ghc-heap-view library inside GHC.
    The bits added are the C hooks into the RTS and a basic Haskell wrapper
    to these C hooks. The main reason for these to be added to GHC proper
    is that the code needs to be kept in sync with the closure types
    defined by the RTS. It is expected that the version of HeapView shipped
    with GHC will always work with that version of GHC and that extra
    functionality can be layered on top with a library like ghc-heap-view
    distributed via Hackage.
    
    Test Plan: validate
    
    Reviewers: simonmar, hvr, nomeata, austin, Phyx, bgamari, erikd
    
    Reviewed By: bgamari
    
    Subscribers: carter, patrickdoc, tmcgilchrist, rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3055


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

ec22f7ddc81b40a9dbcf140e5cf44730cb776d00
 .gitignore                                         |   1 +
 compiler/ghc.cabal.in                              |   2 +-
 compiler/ghci/ByteCodeLink.hs                      |   3 +-
 compiler/ghci/ByteCodeTypes.hs                     |   2 +-
 compiler/ghci/DebuggerUtils.hs                     | 132 -------
 compiler/ghci/RtClosureInspect.hs                  | 259 +++++--------
 compiler/prelude/primops.txt.pp                    |   9 +-
 configure.ac                                       |   2 +-
 ghc.mk                                             |   3 +-
 includes/Rts.h                                     |   1 +
 includes/rts/storage/Heap.h                        |  18 +
 libraries/ghc-heap/.gitignore                      |   5 +
 libraries/ghc-heap/GHC/Exts/Heap.hs                | 254 +++++++++++++
 libraries/ghc-heap/GHC/Exts/Heap/ClosureTypes.hs   |  98 +++++
 libraries/ghc-heap/GHC/Exts/Heap/Closures.hs       | 313 +++++++++++++++
 libraries/ghc-heap/GHC/Exts/Heap/Constants.hsc     |  16 +
 libraries/ghc-heap/GHC/Exts/Heap/InfoTable.hsc     |  77 ++++
 .../ghc-heap/GHC/Exts/Heap/InfoTable/Types.hsc     |  37 ++
 libraries/ghc-heap/GHC/Exts/Heap/InfoTableProf.hsc |  73 ++++
 libraries/ghc-heap/GHC/Exts/Heap/Utils.hsc         | 128 +++++++
 libraries/ghc-heap/LICENSE                         |  30 ++
 libraries/{ghc-compact => ghc-heap}/Setup.hs       |   0
 libraries/ghc-heap/cbits/HeapPrim.cmm              |  13 +
 libraries/ghc-heap/ghc-heap.cabal.in               |  38 ++
 libraries/{base => ghc-heap}/tests/Makefile        |   0
 libraries/ghc-heap/tests/all.T                     |   8 +
 libraries/ghc-heap/tests/heap_all.hs               | 421 +++++++++++++++++++++
 libraries/ghc-heap/tests/heap_all.stdout           |   1 +
 libraries/ghci/GHCi/InfoTable.hsc                  | 137 ++-----
 libraries/ghci/GHCi/Message.hs                     |   2 +-
 libraries/ghci/ghci.cabal.in                       |   1 +
 rts/Heap.c                                         | 220 +++++++++++
 rts/PrimOps.cmm                                    |  88 ++---
 rts/rts.cabal.in                                   |   2 +
 testsuite/tests/ghc-api/T4891/T4891.hs             |  24 +-
 35 files changed, 1935 insertions(+), 483 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 ec22f7ddc81b40a9dbcf140e5cf44730cb776d00


More information about the ghc-commits mailing list