ghc-7.6.3: The GHC API

Safe Haskell | None

StgCmmProf

Synopsis

- initCostCentres :: CollectedCCs -> FCode ()
- ccType :: CmmType
- ccsType :: CmmType
- mkCCostCentre :: CostCentre -> CmmLit
- mkCCostCentreStack :: CostCentreStack -> CmmLit
- dynProfHdr :: CmmExpr -> [CmmExpr]
- profDynAlloc :: SMRep -> CmmExpr -> FCode ()
- profAlloc :: CmmExpr -> CmmExpr -> FCode ()
- staticProfHdr :: CostCentreStack -> [CmmLit]
- initUpdFrameProf :: CmmExpr -> FCode ()
- enterCostCentreThunk :: CmmExpr -> FCode ()
- costCentreFrom :: CmmExpr -> CmmExpr
- curCCS :: CmmExpr
- storeCurCCS :: CmmExpr -> CmmAGraph
- emitSetCCC :: CostCentre -> Bool -> Bool -> FCode ()
- saveCurrentCostCentre :: FCode (Maybe LocalReg)
- restoreCurrentCostCentre :: Maybe LocalReg -> FCode ()
- ldvEnter :: CmmExpr -> FCode ()
- ldvEnterClosure :: ClosureInfo -> FCode ()
- ldvRecordCreate :: CmmExpr -> FCode ()

# Documentation

initCostCentres :: CollectedCCs -> FCode ()

ccType :: CmmType

ccsType :: CmmType

mkCCostCentre :: CostCentre -> CmmLit

mkCCostCentreStack :: CostCentreStack -> CmmLit

dynProfHdr :: CmmExpr -> [CmmExpr]

profDynAlloc :: SMRep -> CmmExpr -> FCode ()

Record the allocation of a closure. The CmmExpr is the cost centre stack to which to attribute the allocation.

profAlloc :: CmmExpr -> CmmExpr -> FCode ()

Record the allocation of a closure (size is given by a CmmExpr) The size must be in words, because the allocation counter in a CCS counts in words.

staticProfHdr :: CostCentreStack -> [CmmLit]

initUpdFrameProf :: CmmExpr -> FCode ()

enterCostCentreThunk :: CmmExpr -> FCode ()

costCentreFrom :: CmmExpr -> CmmExpr

curCCS :: CmmExpr

storeCurCCS :: CmmExpr -> CmmAGraph

emitSetCCC :: CostCentre -> Bool -> Bool -> FCode ()

saveCurrentCostCentre :: FCode (Maybe LocalReg)

restoreCurrentCostCentre :: Maybe LocalReg -> FCode ()

ldvEnter :: CmmExpr -> FCode ()

ldvEnterClosure :: ClosureInfo -> FCode ()

ldvRecordCreate :: CmmExpr -> FCode ()