GHC.Exts.Heap.ProfInfo.Types

ghc-heap-9.2.0.20210422: Functions for walking GHC's heap

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Exts.Heap.ProfInfo.Types

Synopsis

- data StgTSOProfInfo = StgTSOProfInfo {
  - cccs :: Maybe CostCentreStack
  }
- data CostCentreStack = CostCentreStack {
  - ccs_ccsID :: Int
  - ccs_cc :: CostCentre
  - ccs_prevStack :: Maybe CostCentreStack
  - ccs_indexTable :: Maybe IndexTable
  - ccs_root :: Maybe CostCentreStack
  - ccs_depth :: Word
  - ccs_scc_count :: Word64
  - ccs_selected :: Word
  - ccs_time_ticks :: Word
  - ccs_mem_alloc :: Word64
  - ccs_inherited_alloc :: Word64
  - ccs_inherited_ticks :: Word
  }
- data CostCentre = CostCentre {
  - cc_ccID :: Int
  - cc_label :: String
  - cc_module :: String
  - cc_srcloc :: Maybe String
  - cc_mem_alloc :: Word64
  - cc_time_ticks :: Word
  - cc_is_caf :: Bool
  - cc_link :: Maybe CostCentre
  }
- data IndexTable = IndexTable {
  - it_cc :: CostCentre
  - it_ccs :: Maybe CostCentreStack
  - it_next :: Maybe IndexTable
  - it_back_edge :: Bool
  }

# Documentation

data StgTSOProfInfo Source #

This is a somewhat faithful representation of StgTSOProfInfo. See https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/storage/TSO.h for more details on this data structure.

Constructors

StgTSOProfInfo |
Fields cccs :: Maybe CostCentreStack

#### Instances

Instances details

Generic StgTSOProfInfo # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Associated Types type Rep StgTSOProfInfo :: Type -> Type Source # Methods from :: StgTSOProfInfo -> Rep StgTSOProfInfo x Source # to :: Rep StgTSOProfInfo x -> StgTSOProfInfo Source #
Show StgTSOProfInfo # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods showsPrec :: Int -> StgTSOProfInfo -> ShowS Source # show :: StgTSOProfInfo -> String Source # showList :: [StgTSOProfInfo] -> ShowS Source #
Eq StgTSOProfInfo # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # (/=) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source #
Ord StgTSOProfInfo # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods compare :: StgTSOProfInfo -> StgTSOProfInfo -> Ordering Source # (<) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # (<=) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # (>) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # (>=) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # max :: StgTSOProfInfo -> StgTSOProfInfo -> StgTSOProfInfo Source # min :: StgTSOProfInfo -> StgTSOProfInfo -> StgTSOProfInfo Source #
type Rep StgTSOProfInfo # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types type Rep StgTSOProfInfo = D1 ('MetaData "StgTSOProfInfo" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.2.0.20210422" 'False) (C1 ('MetaCons "StgTSOProfInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "cccs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CostCentreStack))))

data CostCentreStack Source #

This is a somewhat faithful representation of CostCentreStack. See https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/prof/CCS.h for more details on this data structure.

Constructors

CostCentreStack |
Fields ccs_ccsID :: Int ccs_cc :: CostCentre ccs_prevStack :: Maybe CostCentreStack ccs_indexTable :: Maybe IndexTable ccs_root :: Maybe CostCentreStack ccs_depth :: Word ccs_scc_count :: Word64 ccs_selected :: Word ccs_time_ticks :: Word ccs_mem_alloc :: Word64 ccs_inherited_alloc :: Word64 ccs_inherited_ticks :: Word

#### Instances

Instances details

Generic CostCentreStack # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Associated Types type Rep CostCentreStack :: Type -> Type Source # Methods from :: CostCentreStack -> Rep CostCentreStack x Source # to :: Rep CostCentreStack x -> CostCentreStack Source #
Show CostCentreStack # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods showsPrec :: Int -> CostCentreStack -> ShowS Source # show :: CostCentreStack -> String Source # showList :: [CostCentreStack] -> ShowS Source #
Eq CostCentreStack # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: CostCentreStack -> CostCentreStack -> Bool Source # (/=) :: CostCentreStack -> CostCentreStack -> Bool Source #
Ord CostCentreStack # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods compare :: CostCentreStack -> CostCentreStack -> Ordering Source # (<) :: CostCentreStack -> CostCentreStack -> Bool Source # (<=) :: CostCentreStack -> CostCentreStack -> Bool Source # (>) :: CostCentreStack -> CostCentreStack -> Bool Source # (>=) :: CostCentreStack -> CostCentreStack -> Bool Source # max :: CostCentreStack -> CostCentreStack -> CostCentreStack Source # min :: CostCentreStack -> CostCentreStack -> CostCentreStack Source #
type Rep CostCentreStack # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types type Rep CostCentreStack = D1 ('MetaData "CostCentreStack" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.2.0.20210422" 'False) (C1 ('MetaCons "CostCentreStack" 'PrefixI 'True) (((S1 ('MetaSel ('Just "ccs_ccsID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "ccs_cc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CostCentre) :*: S1 ('MetaSel ('Just "ccs_prevStack") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CostCentreStack)))) :*: (S1 ('MetaSel ('Just "ccs_indexTable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe IndexTable)) :*: (S1 ('MetaSel ('Just "ccs_root") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CostCentreStack)) :*: S1 ('MetaSel ('Just "ccs_depth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))) :*: ((S1 ('MetaSel ('Just "ccs_scc_count") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: (S1 ('MetaSel ('Just "ccs_selected") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "ccs_time_ticks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))) :*: (S1 ('MetaSel ('Just "ccs_mem_alloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: (S1 ('MetaSel ('Just "ccs_inherited_alloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "ccs_inherited_ticks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))))))

data CostCentre Source #

This is a somewhat faithful representation of CostCentre. See https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/prof/CCS.h for more details on this data structure.

Constructors

CostCentre |
Fields cc_ccID :: Int cc_label :: String cc_module :: String cc_srcloc :: Maybe String cc_mem_alloc :: Word64 cc_time_ticks :: Word cc_is_caf :: Bool cc_link :: Maybe CostCentre

#### Instances

Instances details

Generic CostCentre # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Associated Types type Rep CostCentre :: Type -> Type Source # Methods from :: CostCentre -> Rep CostCentre x Source # to :: Rep CostCentre x -> CostCentre Source #
Show CostCentre # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods showsPrec :: Int -> CostCentre -> ShowS Source # show :: CostCentre -> String Source # showList :: [CostCentre] -> ShowS Source #
Eq CostCentre # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: CostCentre -> CostCentre -> Bool Source # (/=) :: CostCentre -> CostCentre -> Bool Source #
Ord CostCentre # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods compare :: CostCentre -> CostCentre -> Ordering Source # (<) :: CostCentre -> CostCentre -> Bool Source # (<=) :: CostCentre -> CostCentre -> Bool Source # (>) :: CostCentre -> CostCentre -> Bool Source # (>=) :: CostCentre -> CostCentre -> Bool Source # max :: CostCentre -> CostCentre -> CostCentre Source # min :: CostCentre -> CostCentre -> CostCentre Source #
type Rep CostCentre # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types type Rep CostCentre = D1 ('MetaData "CostCentre" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.2.0.20210422" 'False) (C1 ('MetaCons "CostCentre" 'PrefixI 'True) (((S1 ('MetaSel ('Just "cc_ccID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "cc_label") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "cc_module") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "cc_srcloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just "cc_mem_alloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64) :*: S1 ('MetaSel ('Just "cc_time_ticks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)) :*: (S1 ('MetaSel ('Just "cc_is_caf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "cc_link") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CostCentre))))))

data IndexTable Source #

This is a somewhat faithful representation of IndexTable. See https://gitlab.haskell.org/ghc/ghc/blob/master/includes/rts/prof/CCS.h for more details on this data structure.

Constructors

IndexTable |
Fields it_cc :: CostCentre it_ccs :: Maybe CostCentreStack it_next :: Maybe IndexTable it_back_edge :: Bool

#### Instances

Instances details

Generic IndexTable # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Associated Types type Rep IndexTable :: Type -> Type Source # Methods from :: IndexTable -> Rep IndexTable x Source # to :: Rep IndexTable x -> IndexTable Source #
Show IndexTable # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods showsPrec :: Int -> IndexTable -> ShowS Source # show :: IndexTable -> String Source # showList :: [IndexTable] -> ShowS Source #
Eq IndexTable # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: IndexTable -> IndexTable -> Bool Source # (/=) :: IndexTable -> IndexTable -> Bool Source #
Ord IndexTable # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods compare :: IndexTable -> IndexTable -> Ordering Source # (<) :: IndexTable -> IndexTable -> Bool Source # (<=) :: IndexTable -> IndexTable -> Bool Source # (>) :: IndexTable -> IndexTable -> Bool Source # (>=) :: IndexTable -> IndexTable -> Bool Source # max :: IndexTable -> IndexTable -> IndexTable Source # min :: IndexTable -> IndexTable -> IndexTable Source #
type Rep IndexTable # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types type Rep IndexTable = D1 ('MetaData "IndexTable" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.2.0.20210422" 'False) (C1 ('MetaCons "IndexTable" 'PrefixI 'True) ((S1 ('MetaSel ('Just "it_cc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CostCentre) :*: S1 ('MetaSel ('Just "it_ccs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe CostCentreStack))) :*: (S1 ('MetaSel ('Just "it_next") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe IndexTable)) :*: S1 ('MetaSel ('Just "it_back_edge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))