ghc-lib-0.20201101: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.StgToCmm.Heap

Synopsis

Documentation

entryHeapCheck :: ClosureInfo -> Maybe LocalReg -> Int -> [LocalReg] -> FCode () -> FCode () Source #

altHeapCheck :: [LocalReg] -> FCode a -> FCode a Source #

noEscapeHeapCheck :: [LocalReg] -> FCode a -> FCode a Source #

altHeapCheckReturnsTo :: [LocalReg] -> Label -> ByteOff -> FCode a -> FCode a Source #

heapStackCheckGen :: Maybe CmmExpr -> Maybe CmmExpr -> FCode () Source #

entryHeapCheck' :: Bool -> CmmExpr -> Int -> [LocalReg] -> FCode () -> FCode () Source #

lower-level version for GHC.Cmm.Parser

mkStaticClosureFields :: Profile -> CmmInfoTable -> CostCentreStack -> CafInfo -> [CmmLit] -> [CmmLit] Source #

mkStaticClosure :: Profile -> CLabel -> CostCentreStack -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] Source #

allocDynClosure :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(NonVoid StgArg, VirtualHpOffset)] -> FCode CmmExpr Source #

allocDynClosureCmm :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(CmmExpr, ByteOff)] -> FCode CmmExpr Source #

allocHeapClosure Source #

Arguments

:: SMRep

representation of the object

-> CmmExpr

info pointer

-> CmmExpr

cost centre

-> [(CmmExpr, ByteOff)]

payload

-> FCode CmmExpr

returns the address of the object

Low-level heap object allocation.

emitSetDynHdr :: CmmExpr -> CmmExpr -> CmmExpr -> FCode () Source #