[commit: ghc] master: ticky enhancements (460abd7)

Nicolas Frisby nicolas.frisby at gmail.com
Fri Mar 29 16:25:14 CET 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : master

https://github.com/ghc/ghc/commit/460abd75c4f99d813ed226d2ff6aa592d62fafd4

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

commit 460abd75c4f99d813ed226d2ff6aa592d62fafd4
Author: Nicolas Frisby <nicolas.frisby at gmail.com>
Date:   Wed Mar 6 21:46:14 2013 +0000

    ticky enhancements
    
      * the new StgCmmArgRep module breaks a dependency cycle; I also
        untabified it, but made no real changes
    
      * updated the documentation in the wiki and change the user guide to
        point there
    
      * moved the allocation enters for ticky and CCS to after the heap check
    
        * I left LDV where it was, which was before the heap check at least
          once, since I have no idea what it is
    
      * standardized all (active?) ticky alloc totals to bytes
    
      * in order to avoid double counting StgCmmLayout.adjustHpBackwards
        no longer bumps ALLOC_HEAP_ctr
    
      * I resurrected the SLOW_CALL counters
    
        * the new module StgCmmArgRep breaks cyclic dependency between
          Layout and Ticky (which the SLOW_CALL counters cause)
    
        * renamed them SLOW_CALL_fast_<pattern> and VERY_SLOW_CALL
    
      * added ALLOC_RTS_ctr and _tot ticky counters
    
        * eg allocation by Storage.c:allocate or a BUILD_PAP in stg_ap_*_info
    
        * resurrected ticky counters for ALLOC_THK, ALLOC_PAP, and
          ALLOC_PRIM
    
        * added -ticky and -DTICKY_TICKY in ways.mk for debug ways
    
      * added a ticky counter for total LNE entries
    
      * new flags for ticky: -ticky-allocd -ticky-dyn-thunk -ticky-LNE
    
        * all off by default
    
        * -ticky-allocd: tracks allocation *of* closure in addition to
           allocation *by* that closure
    
        * -ticky-dyn-thunk tracks dynamic thunks as if they were functions
    
        * -ticky-LNE tracks LNEs as if they were functions
    
      * updated the ticky report format, including making the argument
        categories (more?) accurate again
    
      * the printed name for things in the report include the unique of
        their ticky parent as well as if they are not top-level

 compiler/cmm/CLabel.hs                   |  51 ++-
 compiler/cmm/CmmType.hs                  |   6 +
 compiler/codeGen/StgCmmArgRep.hs         | 135 +++++++
 compiler/codeGen/StgCmmBind.hs           |  43 +-
 compiler/codeGen/StgCmmClosure.hs        |   5 +-
 compiler/codeGen/StgCmmEnv.hs            |   6 +-
 compiler/codeGen/StgCmmExpr.hs           |  10 +-
 compiler/codeGen/StgCmmHeap.hs           |   5 +-
 compiler/codeGen/StgCmmLayout.hs         |  84 +---
 compiler/codeGen/StgCmmTicky.hs          | 659 ++++++++++++++++++++-----------
 compiler/codeGen/StgCmmUtils.hs          |   5 +-
 compiler/ghc.cabal.in                    |   1 +
 compiler/main/DynFlags.hs                |   6 +
 docs/users_guide/profiling.xml           | 164 +-------
 includes/Cmm.h                           |  41 +-
 includes/rts/Ticky.h                     |   2 +-
 includes/stg/Ticky.h                     |  48 ++-
 mk/ways.mk                               |   4 +-
 rts/AutoApply.h                          |   6 +-
 rts/Exception.cmm                        |  10 +-
 rts/Linker.c                             |  34 +-
 rts/RaiseAsync.c                         |   6 +-
 rts/Ticky.c                              | 125 +++---
 rts/sm/Storage.c                         |   4 +-
 utils/deriveConstants/DeriveConstants.hs |   1 +
 25 files changed, 824 insertions(+), 637 deletions(-)


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

    git show 460abd75c4f99d813ed226d2ff6aa592d62fafd4



More information about the ghc-commits mailing list