- initCostCentres :: CollectedCCs -> FCode CmmAGraph
- ccType :: CmmType
- ccsType :: CmmType
- mkCCostCentre :: CostCentre -> CmmLit
- mkCCostCentreStack :: CostCentreStack -> CmmLit
- dynProfHdr :: CmmExpr -> [CmmExpr]
- profDynAlloc :: ClosureInfo -> CmmExpr -> FCode ()
- profAlloc :: CmmExpr -> CmmExpr -> FCode ()
- staticProfHdr :: CostCentreStack -> [CmmLit]
- initUpdFrameProf :: CmmExpr -> FCode ()
- enterCostCentre :: ClosureInfo -> CostCentreStack -> StgExpr -> FCode ()
- enterCostCentrePAP :: CmmExpr -> FCode ()
- enterCostCentreThunk :: CmmExpr -> FCode ()
- chooseDynCostCentres :: CostCentreStack -> [Id] -> StgExpr -> FCode (CmmExpr, CmmExpr)
- costCentreFrom :: CmmExpr -> CmmExpr
- curCCS :: CmmExpr
- curCCSAddr :: CmmExpr
- emitSetCCC :: CostCentre -> FCode ()
- emitCCS :: CostCentreStack -> FCode CmmExpr
- saveCurrentCostCentre :: FCode (Maybe LocalReg)
- restoreCurrentCostCentre :: Maybe LocalReg -> FCode ()
- ldvEnter :: CmmExpr -> FCode ()
- ldvEnterClosure :: ClosureInfo -> FCode ()
- ldvRecordCreate :: CmmExpr -> FCode ()
Documentation
dynProfHdr :: CmmExpr -> [CmmExpr]Source
profDynAlloc :: ClosureInfo -> CmmExpr -> FCode ()Source
Record the allocation of a closure. The CmmExpr is the cost centre stack to which to attribute the allocation.
profAlloc :: CmmExpr -> CmmExpr -> FCode ()Source
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]Source
initUpdFrameProf :: CmmExpr -> FCode ()Source
enterCostCentre :: ClosureInfo -> CostCentreStack -> StgExpr -> FCode ()Source
enterCostCentrePAP :: CmmExpr -> FCode ()Source
enterCostCentreThunk :: CmmExpr -> FCode ()Source
chooseDynCostCentres :: CostCentreStack -> [Id] -> StgExpr -> FCode (CmmExpr, CmmExpr)Source
emitSetCCC :: CostCentre -> FCode ()Source
restoreCurrentCostCentre :: Maybe LocalReg -> FCode ()Source
ldvEnterClosure :: ClosureInfo -> FCode ()Source
ldvRecordCreate :: CmmExpr -> FCode ()Source