Safe Haskell | None |
---|
- type StgWord = Word64
- type StgHalfWord = Word32
- hALF_WORD_SIZE :: ByteOff
- hALF_WORD_SIZE_IN_BITS :: Int
- type WordOff = Int
- type ByteOff = Int
- data SMRep
- type IsStatic = Bool
- data ClosureTypeInfo
- = Constr ConstrTag ConstrDescription
- | Fun FunArity ArgDescr
- | Thunk
- | ThunkSelector SelectorOffset
- | BlackHole
- data ArgDescr
- = ArgSpec !StgHalfWord
- | ArgGen Liveness
- type Liveness = [Bool]
- type ConstrDescription = [Word8]
- mkHeapRep :: IsStatic -> WordOff -> WordOff -> ClosureTypeInfo -> SMRep
- blackHoleRep :: SMRep
- mkStackRep :: [Bool] -> SMRep
- mkRTSRep :: StgHalfWord -> SMRep -> SMRep
- isStaticRep :: SMRep -> IsStatic
- isConRep :: SMRep -> Bool
- isThunkRep :: SMRep -> Bool
- isFunRep :: SMRep -> Bool
- isStaticNoCafCon :: SMRep -> Bool
- heapClosureSize :: SMRep -> WordOff
- fixedHdrSize :: WordOff
- arrWordsHdrSize :: ByteOff
- arrPtrsHdrSize :: ByteOff
- profHdrSize :: WordOff
- thunkHdrSize :: WordOff
- nonHdrSize :: SMRep -> WordOff
- rtsClosureType :: SMRep -> StgHalfWord
- rET_SMALL :: StgHalfWord
- rET_BIG :: StgHalfWord
- aRG_GEN :: StgHalfWord
- aRG_GEN_BIG :: StgHalfWord
- pprWord8String :: [Word8] -> SDoc
- stringToWord8s :: String -> [Word8]
Words and bytes
type StgHalfWord = Word32Source
Closure repesentation
A description of the layout of a closure. Corresponds directly to the closure types in includesrtsstorage/ClosureTypes.h.
True = This is a static closure. Affects how we garbage-collect it. Static closure have an extra static link field at the end.
data ClosureTypeInfo Source
Constr ConstrTag ConstrDescription | |
Fun FunArity ArgDescr | |
Thunk | |
ThunkSelector SelectorOffset | |
BlackHole |
type ConstrDescription = [Word8]Source
Construction
mkStackRep :: [Bool] -> SMRepSource
mkRTSRep :: StgHalfWord -> SMRep -> SMRepSource
Predicates
isStaticRep :: SMRep -> IsStaticSource
isThunkRep :: SMRep -> BoolSource
isStaticNoCafCon :: SMRep -> BoolSource
Size-related things
Size of a closure header (StgHeader in includesrtsstorage/Closures.h)
Size of the profiling part of a closure header (StgProfHeader in includesrtsstorage/Closures.h)
nonHdrSize :: SMRep -> WordOffSource
RTS closure types
rtsClosureType :: SMRep -> StgHalfWordSource
Derives the RTS closure type from an SMRep
Operations over [Word8] strings that don't belong here
pprWord8String :: [Word8] -> SDocSource
stringToWord8s :: String -> [Word8]Source