StgCmmHeap

ghc-7.8.3: The GHC API

Safe Haskell | None
Language | Haskell98

StgCmmHeap

Synopsis

- getVirtHp :: FCode VirtualHpOffset
- setVirtHp :: VirtualHpOffset -> FCode ()
- setRealHp :: VirtualHpOffset -> FCode ()
- getHpRelOffset :: VirtualHpOffset -> FCode CmmExpr
- hpRel :: VirtualHpOffset -> VirtualHpOffset -> WordOff
- entryHeapCheck :: ClosureInfo -> Maybe LocalReg -> Int -> [LocalReg] -> FCode () -> FCode ()
- altHeapCheck :: [LocalReg] -> FCode a -> FCode a
- noEscapeHeapCheck :: [LocalReg] -> FCode a -> FCode a
- altHeapCheckReturnsTo :: [LocalReg] -> Label -> ByteOff -> FCode a -> FCode a
- heapStackCheckGen :: Maybe CmmExpr -> Maybe CmmExpr -> FCode ()
- entryHeapCheck' :: Bool -> CmmExpr -> Int -> [LocalReg] -> FCode () -> FCode ()
- mkVirtHeapOffsets :: DynFlags -> Bool -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])
- mkVirtConstrOffsets :: DynFlags -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])
- mkStaticClosureFields :: DynFlags -> CmmInfoTable -> CostCentreStack -> CafInfo -> [CmmLit] -> [CmmLit]
- mkStaticClosure :: DynFlags -> CLabel -> CostCentreStack -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit]
- allocDynClosure :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(NonVoid StgArg, VirtualHpOffset)] -> FCode CmmExpr
- allocDynClosureCmm :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(CmmExpr, VirtualHpOffset)] -> FCode CmmExpr
- emitSetDynHdr :: CmmExpr -> CmmExpr -> CmmExpr -> FCode ()

# Documentation

getVirtHp :: FCode VirtualHpOffset Source

setVirtHp :: VirtualHpOffset -> FCode () Source

setRealHp :: VirtualHpOffset -> FCode () Source

getHpRelOffset :: VirtualHpOffset -> FCode CmmExpr Source

hpRel :: VirtualHpOffset -> VirtualHpOffset -> WordOff Source

entryHeapCheck :: ClosureInfo -> Maybe LocalReg -> Int -> [LocalReg] -> FCode () -> FCode () Source

altHeapCheck :: [LocalReg] -> FCode a -> FCode a Source

noEscapeHeapCheck :: [LocalReg] -> FCode a -> FCode a Source

altHeapCheckReturnsTo :: [LocalReg] -> Label -> ByteOff -> FCode a -> FCode a Source

heapStackCheckGen :: Maybe CmmExpr -> Maybe CmmExpr -> FCode () Source

entryHeapCheck' :: Bool -> CmmExpr -> Int -> [LocalReg] -> FCode () -> FCode () Source

lower-level version for CmmParse

mkVirtHeapOffsets :: DynFlags -> Bool -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)]) Source

mkVirtConstrOffsets :: DynFlags -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)]) Source

mkStaticClosureFields :: DynFlags -> CmmInfoTable -> CostCentreStack -> CafInfo -> [CmmLit] -> [CmmLit] Source

mkStaticClosure :: DynFlags -> CLabel -> CostCentreStack -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] -> [CmmLit] Source

allocDynClosure :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(NonVoid StgArg, VirtualHpOffset)] -> FCode CmmExpr Source

allocDynClosureCmm :: Maybe Id -> CmmInfoTable -> LambdaFormInfo -> CmmExpr -> CmmExpr -> [(CmmExpr, VirtualHpOffset)] -> FCode CmmExpr Source

emitSetDynHdr :: CmmExpr -> CmmExpr -> CmmExpr -> FCode () Source