Safe Haskell | None |
---|
- mkArgDescr :: Name -> [Id] -> FCode ArgDescr
- emitCall :: (Convention, Convention) -> CmmExpr -> [CmmExpr] -> FCode ()
- emitReturn :: [CmmExpr] -> FCode ()
- adjustHpBackwards :: FCode ()
- emitClosureProcAndInfoTable :: Bool -> Id -> LambdaFormInfo -> CmmInfoTable -> [NonVoid Id] -> ((Int, LocalReg, [LocalReg]) -> FCode ()) -> FCode ()
- emitClosureAndInfoTable :: CmmInfoTable -> Convention -> [LocalReg] -> FCode () -> FCode ()
- slowCall :: CmmExpr -> [StgArg] -> FCode ()
- directCall :: Convention -> CLabel -> RepArity -> [StgArg] -> FCode ()
- mkVirtHeapOffsets :: Bool -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])
- mkVirtConstrOffsets :: [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])
- getHpRelOffset :: VirtualHpOffset -> FCode CmmExpr
- hpRel :: VirtualHpOffset -> VirtualHpOffset -> WordOff
- stdInfoTableSizeB :: ByteOff
- entryCode :: CmmExpr -> CmmExpr
- closureInfoPtr :: CmmExpr -> CmmExpr
- getConstrTag :: CmmExpr -> CmmExpr
- cmmGetClosureType :: CmmExpr -> CmmExpr
- infoTable :: CmmExpr -> CmmExpr
- infoTableClosureType :: CmmExpr -> CmmExpr
- infoTablePtrs :: CmmExpr -> CmmExpr
- infoTableNonPtrs :: CmmExpr -> CmmExpr
- funInfoTable :: CmmExpr -> CmmExpr
Documentation
emitCall :: (Convention, Convention) -> CmmExpr -> [CmmExpr] -> FCode ()Source
emitCall conv fun args
makes a call to the entry-code of fun
,
using the call/return convention conv
, passing args
, and
returning the results to the current sequel.
emitReturn :: [CmmExpr] -> FCode ()Source
Return multiple values to the sequel
If the sequel is Return
return (x,y)
If the sequel is AssignTo [p,q]
p=x; q=y;
adjustHpBackwards :: FCode ()Source
emitClosureProcAndInfoTable :: Bool -> Id -> LambdaFormInfo -> CmmInfoTable -> [NonVoid Id] -> ((Int, LocalReg, [LocalReg]) -> FCode ()) -> FCode ()Source
emitClosureAndInfoTable :: CmmInfoTable -> Convention -> [LocalReg] -> FCode () -> FCode ()Source
directCall :: Convention -> CLabel -> RepArity -> [StgArg] -> FCode ()Source
mkVirtHeapOffsets :: Bool -> [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])Source
mkVirtConstrOffsets :: [(PrimRep, a)] -> (WordOff, WordOff, [(NonVoid a, VirtualHpOffset)])Source
hpRel :: VirtualHpOffset -> VirtualHpOffset -> WordOffSource
getConstrTag :: CmmExpr -> CmmExprSource
funInfoTable :: CmmExpr -> CmmExprSource