GHC.Exts.Heap.InfoTable.Types

ghc-lib-parser-9.14.1.20251220: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

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 ()))
- newtype HalfWord = HalfWord HalfWord'
- type ItblCodes = Either [Word8] [Word32]

# Documentation

data StgInfoTable #

This is a somewhat faithful representation of an info table. See https://gitlab.haskell.org/ghc/ghc/blob/master/rts/include/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

Binary StgInfoTable # |
Instance details Defined in GHCi.Message Methods put :: StgInfoTable -> Put # get :: Get StgInfoTable # putList :: [StgInfoTable] -> Put #
Generic StgInfoTable # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Associated Types
type Rep StgInfoTable |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types type Rep StgInfoTable = D1 ('MetaData "StgInfoTable" "GHC.Internal.Heap.InfoTable.Types" "ghc-lib-parser-9.14.1.20251220-PtFrlL5ZJN3Qo3Axa3c6X" '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))))))
Methods from :: StgInfoTable -> Rep StgInfoTable x # to :: Rep StgInfoTable x -> StgInfoTable #
Show StgInfoTable # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods showsPrec :: Int -> StgInfoTable -> ShowS # show :: StgInfoTable -> String # showList :: [StgInfoTable] -> ShowS #
Eq StgInfoTable # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods (==) :: StgInfoTable -> StgInfoTable -> Bool # (/=) :: StgInfoTable -> StgInfoTable -> Bool #
type Rep StgInfoTable # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types type Rep StgInfoTable = D1 ('MetaData "StgInfoTable" "GHC.Internal.Heap.InfoTable.Types" "ghc-lib-parser-9.14.1.20251220-PtFrlL5ZJN3Qo3Axa3c6X" '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 ())) #

newtype HalfWord #

Constructors

HalfWord HalfWord' |

#### Instances

Instances details

Binary HalfWord # |
Instance details Defined in GHCi.Message Methods put :: HalfWord -> Put # get :: Get HalfWord # putList :: [HalfWord] -> Put #
Enum HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods succ :: HalfWord -> HalfWord # pred :: HalfWord -> HalfWord # toEnum :: Int -> HalfWord # fromEnum :: HalfWord -> Int # enumFrom :: HalfWord -> [HalfWord] # enumFromThen :: HalfWord -> HalfWord -> [HalfWord] # enumFromTo :: HalfWord -> HalfWord -> [HalfWord] # enumFromThenTo :: HalfWord -> HalfWord -> HalfWord -> [HalfWord] #
Storable HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods sizeOf :: HalfWord -> Int # alignment :: HalfWord -> Int # peekElemOff :: Ptr HalfWord -> Int -> IO HalfWord # pokeElemOff :: Ptr HalfWord -> Int -> HalfWord -> IO () # peekByteOff :: Ptr b -> Int -> IO HalfWord # pokeByteOff :: Ptr b -> Int -> HalfWord -> IO () # peek :: Ptr HalfWord -> IO HalfWord # poke :: Ptr HalfWord -> HalfWord -> IO () #
Num HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods (+) :: HalfWord -> HalfWord -> HalfWord # (-) :: HalfWord -> HalfWord -> HalfWord # (*) :: HalfWord -> HalfWord -> HalfWord # negate :: HalfWord -> HalfWord # abs :: HalfWord -> HalfWord # signum :: HalfWord -> HalfWord # fromInteger :: Integer -> HalfWord #
Integral HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods quot :: HalfWord -> HalfWord -> HalfWord # rem :: HalfWord -> HalfWord -> HalfWord # div :: HalfWord -> HalfWord -> HalfWord # mod :: HalfWord -> HalfWord -> HalfWord # quotRem :: HalfWord -> HalfWord -> (HalfWord, HalfWord) # divMod :: HalfWord -> HalfWord -> (HalfWord, HalfWord) # toInteger :: HalfWord -> Integer #
Real HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods toRational :: HalfWord -> Rational #
Show HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods showsPrec :: Int -> HalfWord -> ShowS # show :: HalfWord -> String # showList :: [HalfWord] -> ShowS #
Eq HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods (==) :: HalfWord -> HalfWord -> Bool # (/=) :: HalfWord -> HalfWord -> Bool #
Ord HalfWord # |
Instance details Defined in GHC.Internal.Heap.InfoTable.Types Methods compare :: HalfWord -> HalfWord -> Ordering # (<) :: HalfWord -> HalfWord -> Bool # (<=) :: HalfWord -> HalfWord -> Bool # (>) :: HalfWord -> HalfWord -> Bool # (>=) :: HalfWord -> HalfWord -> Bool # max :: HalfWord -> HalfWord -> HalfWord # min :: HalfWord -> HalfWord -> HalfWord #

type ItblCodes = Either [Word8] [Word32] #