Safe Haskell | Safe-Infered |
---|
- data ClosureInfo
- = ClosureInfo {
- closureName :: !Name
- closureLFInfo :: !LambdaFormInfo
- closureSMRep :: !SMRep
- closureSRT :: !C_SRT
- closureType :: !Type
- closureDescr :: !String
- closureInfLcl :: Bool
- | ConInfo {
- closureCon :: !DataCon
- closureSMRep :: !SMRep
- = ClosureInfo {
- data LambdaFormInfo
- = LFReEntrant TopLevelFlag !Int !Bool ArgDescr
- | LFCon DataCon
- | LFThunk TopLevelFlag !Bool !Bool StandardFormInfo !Bool
- | LFUnknown !Bool
- | LFLetNoEscape !Int
- | LFBlackHole
- data StandardFormInfo
- data SMRep
- data ArgDescr
- = ArgSpec !StgHalfWord
- | ArgGen Liveness
- type Liveness = [Bool]
- data C_SRT
- = NoC_SRT
- | C_SRT !CLabel !WordOff !StgHalfWord
- 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
- type ConTagZ = Int
- dataConTagZ :: DataCon -> ConTagZ
- infoTableLabelFromCI :: ClosureInfo -> CLabel
- entryLabelFromCI :: ClosureInfo -> CLabel
- closureLabelFromCI :: ClosureInfo -> 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)
- isKnownFun :: LambdaFormInfo -> Bool
- funTag :: ClosureInfo -> Int
- funTagLFInfo :: LambdaFormInfo -> Int
- tagForArity :: Int -> Maybe Int
- clHasCafRefs :: ClosureInfo -> CafInfo
- enterIdLabel :: Name -> CafInfo -> CLabel
- enterLocalIdLabel :: Name -> CafInfo -> CLabel
- enterReturnPtLabel :: Unique -> CLabel
- nodeMustPointToIt :: LambdaFormInfo -> Bool
- data CallMethod
- getCallMethod :: DynFlags -> Name -> CafInfo -> LambdaFormInfo -> Int -> CallMethod
- blackHoleOnEntry :: ClosureInfo -> Bool
- staticClosureRequired :: Name -> StgBinderInfo -> LambdaFormInfo -> Bool
- isToplevClosure :: ClosureInfo -> Bool
- closureValDescr, closureTypeDescr :: ClosureInfo -> String
- isStaticClosure :: ClosureInfo -> Bool
- cafBlackHoleClosureInfo :: ClosureInfo -> ClosureInfo
- staticClosureNeedsLink :: ClosureInfo -> Bool
- data CgRep
- nonVoidArg :: CgRep -> Bool
- argMachRep :: CgRep -> CmmType
- primRepToCgRep :: PrimRep -> CgRep
- isFollowableArg :: CgRep -> Bool
- isVoidArg :: CgRep -> Bool
- isFloatingArg :: CgRep -> Bool
- is64BitArg :: CgRep -> Bool
- separateByPtrFollowness :: [(CgRep, a)] -> ([(CgRep, a)], [(CgRep, a)])
- cgRepSizeW :: CgRep -> ByteOff
- cgRepSizeB :: CgRep -> ByteOff
- retAddrSizeW :: WordOff
- typeCgRep :: Type -> CgRep
- idCgRep :: Id -> CgRep
- tyConCgRep :: TyCon -> CgRep
Documentation
data ClosureInfo Source
ClosureInfo | |
| |
ConInfo | |
|
data LambdaFormInfo Source
A description of the layout of a closure. Corresponds directly to the closure types in includesrtsstorage/ClosureTypes.h.
mkLFThunk :: Type -> TopLevelFlag -> [Var] -> UpdateFlag -> LambdaFormInfoSource
mkLFReEntrant :: TopLevelFlag -> [Id] -> [Id] -> ArgDescr -> LambdaFormInfoSource
mkSelectorLFInfo :: Id -> WordOff -> Bool -> LambdaFormInfoSource
mkApLFInfo :: Id -> UpdateFlag -> Int -> LambdaFormInfoSource
mkClosureInfo :: Bool -> Id -> LambdaFormInfo -> Int -> Int -> C_SRT -> String -> ClosureInfoSource
dataConTagZ :: DataCon -> ConTagZSource
closureFunInfo :: ClosureInfo -> Maybe (Int, ArgDescr)Source
funTag :: ClosureInfo -> IntSource
tagForArity :: Int -> Maybe IntSource
enterIdLabel :: Name -> CafInfo -> CLabelSource
enterLocalIdLabel :: Name -> CafInfo -> CLabelSource
data CallMethod Source
getCallMethod :: DynFlags -> Name -> CafInfo -> LambdaFormInfo -> Int -> CallMethodSource
staticClosureRequired :: Name -> StgBinderInfo -> LambdaFormInfo -> BoolSource
nonVoidArg :: CgRep -> BoolSource
argMachRep :: CgRep -> CmmTypeSource
primRepToCgRep :: PrimRep -> CgRepSource
isFollowableArg :: CgRep -> BoolSource
isFloatingArg :: CgRep -> BoolSource
is64BitArg :: CgRep -> BoolSource
separateByPtrFollowness :: [(CgRep, a)] -> ([(CgRep, a)], [(CgRep, a)])Source
cgRepSizeW :: CgRep -> ByteOffSource
cgRepSizeB :: CgRep -> ByteOffSource
tyConCgRep :: TyCon -> CgRepSource