GHC.Exts.Heap.InfoTable.Types

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

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Exts.Heap.InfoTable.Types

Synopsis

- data StgInfoTable = StgInfoTable {
  - entry :: Maybe EntryFunPtr
  - ptrs :: HalfWord
  - nptrs :: HalfWord
  - tipe :: ClosureType
  - srtlen :: HalfWord
  - code :: Maybe ItblCodes
  }
- type EntryFunPtr = FunPtr (Ptr () -> IO (Ptr ()))
- type HalfWord = Word32
- type ItblCodes = Either [Word8] [Word32]

# Documentation

data StgInfoTable Source #

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

Constructors

StgInfoTable |
Fields entry :: Maybe EntryFunPtr ptrs :: HalfWord nptrs :: HalfWord tipe :: ClosureType srtlen :: HalfWord code :: Maybe ItblCodes

#### Instances

Instances details

Generic StgInfoTable # |
Instance details Defined in GHC.Exts.Heap.InfoTable.Types Associated Types type Rep StgInfoTable :: Type -> Type Source # Methods from :: StgInfoTable -> Rep StgInfoTable x Source # to :: Rep StgInfoTable x -> StgInfoTable Source #
Show StgInfoTable # |
Instance details Defined in GHC.Exts.Heap.InfoTable.Types Methods showsPrec :: Int -> StgInfoTable -> ShowS Source # show :: StgInfoTable -> String Source # showList :: [StgInfoTable] -> ShowS Source #
type Rep StgInfoTable # |
Instance details Defined in GHC.Exts.Heap.InfoTable.Types type Rep StgInfoTable = D1 ('MetaData "StgInfoTable" "GHC.Exts.Heap.InfoTable.Types" "ghc-heap-9.2.0.20210422" 'False) (C1 ('MetaCons "StgInfoTable" 'PrefixI 'True) ((S1 ('MetaSel ('Just "entry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe EntryFunPtr)) :*: (S1 ('MetaSel ('Just "ptrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HalfWord) :*: S1 ('MetaSel ('Just "nptrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HalfWord))) :*: (S1 ('MetaSel ('Just "tipe") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ClosureType) :*: (S1 ('MetaSel ('Just "srtlen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HalfWord) :*: S1 ('MetaSel ('Just "code") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ItblCodes))))))

type EntryFunPtr = FunPtr (Ptr () -> IO (Ptr ())) Source #

type HalfWord = Word32 Source #

type ItblCodes = Either [Word8] [Word32] Source #