ghc-7.8.2: The GHC API

Safe HaskellNone
LanguageHaskell98

SMRep

Contents

Synopsis

Words and bytes

type WordOff = Int

type ByteOff = Int

Closure repesentation

data SMRep

A description of the layout of a closure. Corresponds directly to the closure types in includesrtsstorage/ClosureTypes.h.

Instances

type IsStatic = Bool

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

Constructors

Constr ConstrTag ConstrDescription 
Fun FunArity ArgDescr 
Thunk 
ThunkSelector SelectorOffset 
BlackHole 
IndStatic 

data ArgDescr

Constructors

ArgSpec !Int 
ArgGen Liveness 

Instances

type Liveness = [Bool]

Construction

Predicates

Size-related things

fixedHdrSize :: DynFlags -> WordOff

Size of a closure header (StgHeader in includesrtsstorage/Closures.h)

profHdrSize :: DynFlags -> WordOff

Size of the profiling part of a closure header (StgProfHeader in includesrtsstorage/Closures.h)

RTS closure types

rtsClosureType :: SMRep -> Int

Derives the RTS closure type from an SMRep

Operations over [Word8] strings that don't belong here