Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- initCostCentres :: CollectedCCs -> FCode ()
- ccType :: Platform -> CmmType
- ccsType :: Platform -> CmmType
- mkCCostCentre :: CostCentre -> CmmLit
- mkCCostCentreStack :: CostCentreStack -> CmmLit
- dynProfHdr :: DynFlags -> CmmExpr -> [CmmExpr]
- profDynAlloc :: SMRep -> CmmExpr -> FCode ()
- profAlloc :: CmmExpr -> CmmExpr -> FCode ()
- staticProfHdr :: DynFlags -> CostCentreStack -> [CmmLit]
- initUpdFrameProf :: CmmExpr -> FCode ()
- enterCostCentreThunk :: CmmExpr -> FCode ()
- enterCostCentreFun :: CostCentreStack -> CmmExpr -> FCode ()
- costCentreFrom :: DynFlags -> CmmExpr -> CmmExpr
- storeCurCCS :: CmmExpr -> CmmAGraph
- emitSetCCC :: CostCentre -> Bool -> Bool -> FCode ()
- saveCurrentCostCentre :: FCode (Maybe LocalReg)
- restoreCurrentCostCentre :: Maybe LocalReg -> FCode ()
- ldvEnter :: CmmExpr -> FCode ()
- ldvEnterClosure :: ClosureInfo -> CmmReg -> FCode ()
- ldvRecordCreate :: CmmExpr -> FCode ()
Documentation
initCostCentres :: CollectedCCs -> FCode () Source #
mkCCostCentre :: CostCentre -> CmmLit Source #
mkCCostCentreStack :: CostCentreStack -> CmmLit Source #
dynProfHdr :: DynFlags -> CmmExpr -> [CmmExpr] Source #
Profiling header words in a dynamic closure
profDynAlloc :: SMRep -> 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 :: DynFlags -> CostCentreStack -> [CmmLit] Source #
The profiling header words in a static closure
initUpdFrameProf :: CmmExpr -> FCode () Source #
Initialise the profiling field of an update frame
enterCostCentreThunk :: CmmExpr -> FCode () Source #
enterCostCentreFun :: CostCentreStack -> CmmExpr -> FCode () Source #
costCentreFrom :: DynFlags -> CmmExpr -> CmmExpr Source #
storeCurCCS :: CmmExpr -> CmmAGraph Source #
saveCurrentCostCentre :: FCode (Maybe LocalReg) Source #
restoreCurrentCostCentre :: Maybe LocalReg -> FCode () Source #
ldvEnterClosure :: ClosureInfo -> CmmReg -> FCode () Source #
Called when a closure is entered, marks the closure as having
been "used". The closure is not an "inherently used" one. The
closure is not IND
because that is not considered for LDV profiling.
ldvRecordCreate :: CmmExpr -> FCode () Source #