ticky enhancements
authorNicolas Frisby <nicolas.frisby@gmail.com>
Wed, 6 Mar 2013 21:46:14 +0000 (21:46 +0000)
committerNicolas Frisby <nicolas.frisby@gmail.com>
Fri, 29 Mar 2013 15:20:50 +0000 (15:20 +0000)
commit460abd75c4f99d813ed226d2ff6aa592d62fafd4
tree9e602d6733d90c1b26fccb2509497454bf619766
parentc7d80c6524390551b64e9c1d651e1a03ed3c7617
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
25 files changed:
compiler/cmm/CLabel.hs
compiler/cmm/CmmType.hs
compiler/codeGen/StgCmmArgRep.hs [new file with mode: 0644]
compiler/codeGen/StgCmmBind.hs
compiler/codeGen/StgCmmClosure.hs
compiler/codeGen/StgCmmEnv.hs
compiler/codeGen/StgCmmExpr.hs
compiler/codeGen/StgCmmHeap.hs
compiler/codeGen/StgCmmLayout.hs
compiler/codeGen/StgCmmTicky.hs
compiler/codeGen/StgCmmUtils.hs
compiler/ghc.cabal.in
compiler/main/DynFlags.hs
docs/users_guide/profiling.xml
includes/Cmm.h
includes/rts/Ticky.h
includes/stg/Ticky.h
mk/ways.mk
rts/AutoApply.h
rts/Exception.cmm
rts/Linker.c
rts/RaiseAsync.c
rts/Ticky.c
rts/sm/Storage.c
utils/deriveConstants/DeriveConstants.hs