Moduleghc-10.0.0.20260917GHC2024
GHC.StgToCmm.Prof
Synopsis
- value initCostCentres
- value ccType
- value ccsType
- value mkCCostCentre
- value mkCCostCentreStack
- value initInfoTableProv
- value dynProfHdr
- value profDynAlloc
- value profAlloc
- value staticProfHdr
- value initUpdFrameProf
- value enterCostCentreThunk
- value enterCostCentreFun
- value costCentreFrom
- value storeCurCCS
- value emitSetCCC
- value saveCurrentCostCentre
- value restoreCurrentCostCentre
- value ldvEnter
- value ldvEnterClosure
- value profHeaderCreate
- Packageghc-10.0.0.20260917
- Exports21
- LanguageGHC2024
- LicenceBSD-3-Clause
- SourceProf.hs
Emit info-table provenance declarations and track IPE stats.
Note that the stats passed to this function will (rather, should) only ever
contain stats for skipped STACK info tables accumulated in
generateCgIPEStub.
Profiling header words in a dynamic closure
Record the allocation of a closure. The CmmExpr is the cost centre stack to which to attribute the allocation.
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.
The profiling header words in a static closure
Initialise the profiling field of an update frame
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.
Initialise the profiling word of a new dynamic closure * When LDV profiling is enabled (era > 0) - Initialise to the LDV word * When eras profiling is enabled (user_era > 0) - Initialise to current user_era