Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- assignCoerce1 :: [TypedExpr] -> [TypedExpr] -> JStgStat
- assignToExprCtx :: ExprCtx -> [JStgExpr] -> JStgStat
- fixedLayout :: [JSRep] -> CILayout
- assocIdExprs :: Id -> [JStgExpr] -> [TypedExpr]
- isUnboxableCon :: DataCon -> Bool
- isUnboxable :: JSRep -> Bool
- isBoolDataCon :: DataCon -> Bool
- slotCount :: SlotCount -> Int
- varSize :: JSRep -> Int
- typeSize :: Type -> Int
- isVoid :: JSRep -> Bool
- isMultiVar :: JSRep -> Bool
- idJSRep :: HasDebugCallStack => Id -> [JSRep]
- typeJSRep :: HasDebugCallStack => Type -> [JSRep]
- unaryTypeJSRep :: HasDebugCallStack => UnaryType -> JSRep
- primRepToJSRep :: HasDebugCallStack => PrimRep -> JSRep
- primOrVoidRepToJSRep :: HasDebugCallStack => PrimOrVoidRep -> JSRep
- stackSlotType :: Id -> JSRep
- primRepSize :: PrimRep -> SlotCount
- mkArityTag :: Int -> Int -> Int
- exprRefs :: UniqFM Id CgStgExpr -> CgStgExpr -> Set Id
- hasExport :: CgStgBinding -> Bool
- collectTopIds :: CgStgBinding -> [Id]
- collectIds :: UniqFM Id CgStgExpr -> CgStgBinding -> [Id]
- type LiveVars = DVarSet
- liveStatic :: LiveVars -> LiveVars
- liveVars :: LiveVars -> LiveVars
- stgRhsLive :: CgStgRhs -> LiveVars
- stgExprLive :: Bool -> CgStgExpr -> LiveVars
- isUpdatableRhs :: CgStgRhs -> Bool
- stgLneLive' :: CgStgBinding -> [Id]
- stgLneLiveExpr :: CgStgRhs -> [Id]
- isInlineExpr :: CgStgExpr -> Bool
Documentation
assignCoerce1 :: [TypedExpr] -> [TypedExpr] -> JStgStat Source #
Assign first expr only (if it exists), performing coercions between some PrimReps (e.g. StablePtr# and Addr#).
fixedLayout :: [JSRep] -> CILayout Source #
assocIdExprs :: Id -> [JStgExpr] -> [TypedExpr] Source #
Associate the given JExpr to the Id's PrimReps, taking into account the number of slots per PrimRep
Unboxable datacon
isUnboxableCon :: DataCon -> Bool Source #
can we unbox C x to x, only if x is represented as a Number
isUnboxable :: JSRep -> Bool Source #
one-constructor types with one primitive field represented as a JS Number can be unboxed
isBoolDataCon :: DataCon -> Bool Source #
JSRep
isMultiVar :: JSRep -> Bool Source #
unaryTypeJSRep :: HasDebugCallStack => UnaryType -> JSRep Source #
primRepToJSRep :: HasDebugCallStack => PrimRep -> JSRep Source #
stackSlotType :: Id -> JSRep Source #
primRepSize :: PrimRep -> SlotCount Source #
References and Ids
hasExport :: CgStgBinding -> Bool Source #
collectTopIds :: CgStgBinding -> [Id] Source #
collectIds :: UniqFM Id CgStgExpr -> CgStgBinding -> [Id] Source #
Live variables
liveStatic :: LiveVars -> LiveVars Source #
stgRhsLive :: CgStgRhs -> LiveVars Source #
isUpdatableRhs :: CgStgRhs -> Bool Source #
stgLneLive' :: CgStgBinding -> [Id] Source #
stgLneLiveExpr :: CgStgRhs -> [Id] Source #
isInlineExpr :: CgStgExpr -> Bool Source #
returns True if the expression is definitely inline