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

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Exts.Heap.ProfInfo.Types

Synopsis

- newtype 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

newtype StgTSOProfInfo Source #

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

Constructors

StgTSOProfInfo |

Fields

- cccs :: Maybe CostCentreStack

#### Instances

Instances details

Generic StgTSOProfInfo Source # |
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 Source # |
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 Source # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source # (/=) :: StgTSOProfInfo -> StgTSOProfInfo -> Bool Source #
Ord StgTSOProfInfo Source # |

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 Source # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types type Rep StgTSOProfInfo = D1 ('MetaData "StgTSOProfInfo" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.6.3" 'True) (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/rts/include/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 Source # |
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 Source # |
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 Source # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: CostCentreStack -> CostCentreStack -> Bool Source # (/=) :: CostCentreStack -> CostCentreStack -> Bool Source #
Ord CostCentreStack Source # |

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 Source # |

Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

type Rep CostCentreStack = D1 ('MetaData "CostCentreStack" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.6.3" '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/rts/include/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 Source # |
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 Source # |
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 Source # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: CostCentre -> CostCentre -> Bool Source # (/=) :: CostCentre -> CostCentre -> Bool Source #
Ord CostCentre Source # |

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 Source # |

Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

type Rep CostCentre = D1 ('MetaData "CostCentre" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.6.3" '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/rts/include/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 Source # |
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 Source # |
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 Source # |
Instance details Defined in GHC.Exts.Heap.ProfInfo.Types Methods (==) :: IndexTable -> IndexTable -> Bool Source # (/=) :: IndexTable -> IndexTable -> Bool Source #
Ord IndexTable Source # |

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 Source # |

Instance details

Defined in GHC.Exts.Heap.ProfInfo.Types

type Rep IndexTable = D1 ('MetaData "IndexTable" "GHC.Exts.Heap.ProfInfo.Types" "ghc-heap-9.6.3" '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))))