ClosureInfo

ghc-7.0.4: The GHC API

ClosureInfo

# Documentation

data ClosureInfo

Constructors

ClosureInfo |
Fields closureName :: !Name closureLFInfo :: !LambdaFormInfo closureSMRep :: !SMRep closureSRT :: !C_SRT closureType :: !Type closureDescr :: !String
ConInfo |
Fields closureCon :: !DataCon closureSMRep :: !SMRep

data LambdaFormInfo

Constructors

LFReEntrant TopLevelFlag !Int !Bool ArgDescr |
LFCon DataCon |
LFThunk TopLevelFlag !Bool !Bool StandardFormInfo !Bool |
LFUnknown !Bool |
LFLetNoEscape !Int |
LFBlackHole CLabel |

data StandardFormInfo

Constructors

NonStandardThunk |
SelectorThunk WordOff |
ApThunk Int |

data SMRep

data ArgDescr

Constructors

ArgSpec !StgHalfWord |
ArgGen Liveness |

data Liveness

Constructors

SmallLiveness StgWord |
BigLiveness CLabel |

data C_SRT

Constructors

NoC_SRT |
C_SRT !CLabel !WordOff !StgHalfWord |

Instances

Eq C_SRT |
Outputable C_SRT |

needsSRT :: C_SRT -> Bool

mkLFThunk :: Type -> TopLevelFlag -> [Var] -> UpdateFlag -> LambdaFormInfo

mkLFReEntrant :: TopLevelFlag -> [Id] -> [Id] -> ArgDescr -> LambdaFormInfo

mkConLFInfo :: DataCon -> LambdaFormInfo

mkSelectorLFInfo :: Id -> WordOff -> Bool -> LambdaFormInfo

mkApLFInfo :: Id -> UpdateFlag -> Int -> LambdaFormInfo

mkLFImported :: Id -> LambdaFormInfo

mkLFArgument :: Id -> LambdaFormInfo

mkLFLetNoEscape :: Int -> LambdaFormInfo

mkClosureInfo :: Bool -> Id -> LambdaFormInfo -> Int -> Int -> C_SRT -> String -> ClosureInfo

mkConInfo :: Bool -> DataCon -> Int -> Int -> ClosureInfo

maybeIsLFCon :: LambdaFormInfo -> Maybe DataCon

closureSize :: ClosureInfo -> WordOff

closureNonHdrSize :: ClosureInfo -> WordOff

closureGoodStuffSize :: ClosureInfo -> WordOff

closurePtrsSize :: ClosureInfo -> WordOff

slopSize :: ClosureInfo -> WordOff

infoTableLabelFromCI :: ClosureInfo -> CafInfo -> CLabel

closureLabelFromCI :: ClosureInfo -> CafInfo -> CLabel

isLFThunk :: LambdaFormInfo -> Bool

closureUpdReqd :: ClosureInfo -> Bool

closureNeedsUpdSpace :: ClosureInfo -> Bool

closureIsThunk :: ClosureInfo -> Bool

closureSingleEntry :: ClosureInfo -> Bool

closureReEntrant :: ClosureInfo -> Bool

isConstrClosure_maybe :: ClosureInfo -> Maybe DataCon

closureFunInfo :: ClosureInfo -> Maybe (Int, ArgDescr)

isStandardFormThunk :: LambdaFormInfo -> Bool

isKnownFun :: LambdaFormInfo -> Bool

funTag :: ClosureInfo -> Int

funTagLFInfo :: LambdaFormInfo -> Int

tagForArity :: Int -> Maybe Int

enterIdLabel :: Name -> CafInfo -> CLabel

enterLocalIdLabel :: Name -> CafInfo -> CLabel

enterReturnPtLabel :: Unique -> CLabel

nodeMustPointToIt :: LambdaFormInfo -> Bool

data CallMethod

Constructors

EnterIt |
JumpToIt CLabel |
ReturnIt |
ReturnCon DataCon |
SlowCall |
DirectEntry CLabel Int |

getCallMethod :: DynFlags -> Name -> CafInfo -> LambdaFormInfo -> Int -> CallMethod

blackHoleOnEntry :: DynFlags -> ClosureInfo -> Bool

staticClosureRequired :: Name -> StgBinderInfo -> LambdaFormInfo -> Bool

getClosureType :: Bool -> WordOff -> LambdaFormInfo -> ClosureType

isToplevClosure :: ClosureInfo -> Bool

closureValDescr :: ClosureInfo -> String

closureTypeDescr :: ClosureInfo -> String

isStaticClosure :: ClosureInfo -> Bool

cafBlackHoleClosureInfo :: ClosureInfo -> ClosureInfo

staticClosureNeedsLink :: ClosureInfo -> Bool