Safe Haskell | None |
---|
- mkCCostCentre :: CostCentre -> CmmLit
- mkCCostCentreStack :: CostCentreStack -> CmmLit
- dynProfHdr :: CmmExpr -> [CmmExpr]
- profDynAlloc :: ClosureInfo -> CmmExpr -> Code
- profAlloc :: CmmExpr -> CmmExpr -> Code
- staticProfHdr :: CostCentreStack -> [CmmLit]
- initUpdFrameProf :: CmmExpr -> Code
- enterCostCentreThunk :: CmmExpr -> Code
- enterCostCentreFun :: CostCentreStack -> CmmExpr -> [GlobalReg] -> Code
- costCentreFrom :: CmmExpr -> CmmExpr
- curCCS :: CmmExpr
- storeCurCCS :: CmmExpr -> CmmStmt
- emitCostCentreDecl :: CostCentre -> Code
- emitCostCentreStackDecl :: CostCentreStack -> Code
- emitSetCCC :: CostCentre -> Bool -> Bool -> Code
- ldvEnter :: CmmExpr -> Code
- ldvEnterClosure :: ClosureInfo -> Code
- ldvRecordCreate :: CmmExpr -> Code
Documentation
dynProfHdr :: CmmExpr -> [CmmExpr]Source
profDynAlloc :: ClosureInfo -> CmmExpr -> CodeSource
Record the allocation of a closure. The CmmExpr is the cost centre stack to which to attribute the allocation.
profAlloc :: CmmExpr -> CmmExpr -> CodeSource
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.
This API is used by the CCS_ALLOC()
macro in .cmm
code.
staticProfHdr :: CostCentreStack -> [CmmLit]Source
enterCostCentreFun :: CostCentreStack -> CmmExpr -> [GlobalReg] -> CodeSource
storeCurCCS :: CmmExpr -> CmmStmtSource
emitSetCCC :: CostCentre -> Bool -> Bool -> CodeSource
ldvRecordCreate :: CmmExpr -> CodeSource