StgCmmForeign

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

StgCmmForeign

Synopsis

- cgForeignCall :: ForeignCall -> [StgArg] -> Type -> FCode ReturnKind
- emitPrimCall :: [CmmFormal] -> CallishMachOp -> [CmmActual] -> FCode ()
- emitCCall :: [(CmmFormal, ForeignHint)] -> CmmExpr -> [(CmmActual, ForeignHint)] -> FCode ()
- emitForeignCall :: Safety -> [CmmFormal] -> ForeignTarget -> [CmmActual] -> FCode ReturnKind
- emitSaveThreadState :: FCode ()
- saveThreadState :: MonadUnique m => DynFlags -> m CmmAGraph
- emitLoadThreadState :: FCode ()
- loadThreadState :: MonadUnique m => DynFlags -> m CmmAGraph
- emitOpenNursery :: FCode ()
- emitCloseNursery :: FCode ()

# Documentation

cgForeignCall :: ForeignCall -> [StgArg] -> Type -> FCode ReturnKind #

emit code for a foreign call, and return the results to the sequel.

emitPrimCall :: [CmmFormal] -> CallishMachOp -> [CmmActual] -> FCode () #

emitCCall :: [(CmmFormal, ForeignHint)] -> CmmExpr -> [(CmmActual, ForeignHint)] -> FCode () #

emitForeignCall :: Safety -> [CmmFormal] -> ForeignTarget -> [CmmActual] -> FCode ReturnKind #

emitSaveThreadState :: FCode () #

saveThreadState :: MonadUnique m => DynFlags -> m CmmAGraph #

Produce code to save the current thread state to `CurrentTSO`

emitLoadThreadState :: FCode () #

loadThreadState :: MonadUnique m => DynFlags -> m CmmAGraph #

Produce code to load the current thread state from `CurrentTSO`

emitOpenNursery :: FCode () #

emitCloseNursery :: FCode () #