Moduleghc-9.14.1GHC2021
GHC.StgToCmm.Closure
Synopsis
- type DynTag
- value tagForCon
- value isSmallFamily
- value idPrimRep1
- value idPrimRepU
- value isGcPtrRep
- value addIdReps
- value addArgReps
- newtype NonVoid
- value fromNonVoid
- value nonVoidIds
- value nonVoidStgArgs
- value assertNonVoidIds
- value assertNonVoidStgArgs
- data LambdaFormInfo
- data StandardFormInfo
- value mkLFThunk
- value mkLFReEntrant
- value mkConLFInfo
- value mkSelectorLFInfo
- value mkApLFInfo
- value importedIdLFInfo
- value mkLFArgument
- value mkLFLetNoEscape
- value mkLFStringLit
- value lfDynTag
- value isLFThunk
- value isLFReEntrant
- value lfUpdatable
- data CgLoc
- data CallMethod
- value nodeMustPointToIt
- value isKnownFun
- value funTag
- value tagForArity
- value getCallMethod
- data ClosureInfo
- value mkClosureInfo
- value mkCmmInfo
- value closureLFInfo
- value closureName
- value closureInfoLabel
- value staticClosureLabel
- value closureSlowEntryLabel
- value closureLocalEntryLabel
- value closureUpdReqd
- value closureReEntrant
- value closureFunInfo
- value isToplevClosure
- value blackHoleOnEntry
- value isStaticClosure
- value mkDataConInfoTable
- value cafBlackHoleInfoTable
- value indStaticInfoTable
- value staticClosureNeedsLink
- value mkClosureInfoTableLabel
- Packageghc-9.14.1
- Exports56
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceClosure.hs
Assumes that there is at most one PrimRep of the type. This assumption holds after unarise. See Note [Post-unarisation invariants] in GHC.Stg.Unarise. See Note [VoidRep] in GHC.Types.RepType.
Assumes that Ids have one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.
Assumes that arguments have one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.
Constructors
NonVoid a
Instances3Eq, Show, Outputable
Eq a => Eq (NonVoid a)Defined in ghc-9.14.1 · GHC.StgToCmm.ClosureShow a => Show (NonVoid a)Defined in ghc-9.14.1 · GHC.StgToCmm.ClosureOutputable a => Outputable (NonVoid a)Defined in ghc-9.14.1 · GHC.StgToCmm.Closure
Used in places where some invariant ensures that all these Ids are non-void; e.g. constructor field binders in case expressions. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.
Used in places where some invariant ensures that all these arguments are non-void; e.g. constructor arguments. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.
LambdaFormInfo
Information about an identifier, from the code generator's point of view. Every identifier is bound to a LambdaFormInfo in the environment, which gives the code generator enough info to be able to tail call or return that identifier.
Instances1Outputable
Outputable LambdaFormInfoDefined in ghc-9.14.1 · GHC.StgToCmm.Types
StandardFormInfo tells whether this thunk has one of a small number of standard forms
Instances2Eq, Outputable
Eq StandardFormInfoDefined in ghc-9.14.1 · GHC.StgToCmm.TypesOutputable StandardFormInfoDefined in ghc-9.14.1 · GHC.StgToCmm.Types
The LambdaFormInfo of an imported Id. See Note [The LFInfo of Imported Ids]
Return the tag in the low order bits of a variable bound to this LambdaForm
Used by other modules
Instances1OutputableP
OutputableP Platform CgLocDefined in ghc-9.14.1 · GHC.StgToCmm.Closure
Constructors
EnterItNo args, not a function
JumpToIt BlockId [LocalReg]ReturnItInferedReturnItSlowCallDirectEntry CLabel RepArity
Instances1Outputable
Outputable CallMethodDefined in ghc-9.14.1 · GHC.StgToCmm.Closure
ClosureInfo
Convert from ClosureInfo to CmmInfoTable.
Inspection
Labels
Predicates
InfoTables
Get the info table label for a *thunk*.