[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