ghc-7.4.2: The GHC API

Safe Haskell | None

CgHeapery

# Documentation

initHeapUsage :: (VirtualHpOffset -> Code) -> Code

getVirtHp :: FCode VirtualHpOffset

setVirtHp :: VirtualHpOffset -> Code

setRealHp :: VirtualHpOffset -> Code

getHpRelOffset :: VirtualHpOffset -> FCode CmmExpr

hpRel :: VirtualHpOffset -> VirtualHpOffset -> WordOff

funEntryChecks :: ClosureInfo -> CmmStmts -> Code -> Code

thunkEntryChecks :: ClosureInfo -> Code -> Code

altHeapCheck :: AltType -> Code -> Code

unbxTupleHeapCheck :: [(Id, GlobalReg)] -> WordOff -> WordOff -> CmmStmts -> Code -> Code

hpChkGen :: CmmExpr -> CmmExpr -> CmmExpr -> Code

hpChkNodePointsAssignSp0 :: CmmExpr -> CmmExpr -> Code

stkChkGen :: CmmExpr -> CmmExpr -> CmmExpr -> Code

stkChkNodePoints :: CmmExpr -> Code

layOutDynConstr :: DataCon -> [(CgRep, a)] -> (ClosureInfo, [(a, VirtualHpOffset)])

layOutStaticConstr :: DataCon -> [(CgRep, a)] -> (ClosureInfo, [(a, VirtualHpOffset)])

mkVirtHeapOffsets :: Bool -> [(CgRep, a)] -> (WordOff, WordOff, [(a, VirtualHpOffset)])

mkStaticClosureFields :: ClosureInfo -> CostCentreStack -> Bool -> [CmmLit] -> [CmmLit]

mkStaticClosure :: CLabel -> CostCentreStack -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit]

allocDynClosure :: ClosureInfo -> CmmExpr -> CmmExpr -> [(CmmExpr, VirtualHpOffset)] -> FCode VirtualHpOffset

emitSetDynHdr :: CmmExpr -> CmmExpr -> CmmExpr -> Code