| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
LLVM.Internal.OrcJIT
Synopsis
- newtype MangledSymbol = MangledSymbol ByteString
- data JITSymbolFlags = JITSymbolFlags {
- jitSymbolWeak :: !Bool
- jitSymbolCommon :: !Bool
- jitSymbolAbsolute :: !Bool
- jitSymbolExported :: !Bool
- defaultJITSymbolFlags :: JITSymbolFlags
- data JITSymbol = JITSymbol {}
- data JITSymbolError = JITSymbolError ShortByteString
- type SymbolResolverFn = MangledSymbol -> IO (Either JITSymbolError JITSymbol)
- data SymbolResolver = SymbolResolver {}
- allocWithCleanup :: IORef [IO ()] -> IO a -> (a -> IO ()) -> IO a
- allocFunPtr :: IORef [IO ()] -> IO (FunPtr a) -> IO (FunPtr a)
- createRegisteredDataLayout :: MonadAnyCont IO m => TargetMachine -> IORef [IO ()] -> m (Ptr DataLayout)
Documentation
newtype MangledSymbol Source #
A mangled symbol which can be used in findSymbol. This can be
created using mangleSymbol.
Constructors
| MangledSymbol ByteString |
Instances
data JITSymbolFlags Source #
Contrary to the C++ interface, we do not store the HasError flag here. Instead decoding a JITSymbol produces a sumtype based on whether that flag is set or not.
Constructors
| JITSymbolFlags | |
Fields
| |
Instances
Constructors
| JITSymbol | |
Fields
| |
Instances
| Eq JITSymbol Source # | |
| Ord JITSymbol Source # | |
| Show JITSymbol Source # | |
| MonadIO m => EncodeM m SymbolResolverFn (FunPtr SymbolResolverFn) Source # | |
Defined in LLVM.Internal.OrcJIT Methods encodeM :: SymbolResolverFn -> m (FunPtr SymbolResolverFn0) Source # | |
| (MonadIO m, MonadAnyCont IO m) => DecodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol) Source # | |
Defined in LLVM.Internal.OrcJIT Methods decodeM :: Ptr JITSymbol0 -> m (Either JITSymbolError JITSymbol) Source # | |
| MonadIO m => EncodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol -> IO ()) Source # | |
Defined in LLVM.Internal.OrcJIT Methods encodeM :: Either JITSymbolError JITSymbol -> m (Ptr JITSymbol0 -> IO ()) Source # | |
data JITSymbolError Source #
Constructors
| JITSymbolError ShortByteString |
Instances
| Eq JITSymbolError Source # | |
Defined in LLVM.Internal.OrcJIT Methods (==) :: JITSymbolError -> JITSymbolError -> Bool # (/=) :: JITSymbolError -> JITSymbolError -> Bool # | |
| Show JITSymbolError Source # | |
Defined in LLVM.Internal.OrcJIT Methods showsPrec :: Int -> JITSymbolError -> ShowS # show :: JITSymbolError -> String # showList :: [JITSymbolError] -> ShowS # | |
| MonadIO m => EncodeM m SymbolResolverFn (FunPtr SymbolResolverFn) Source # | |
Defined in LLVM.Internal.OrcJIT Methods encodeM :: SymbolResolverFn -> m (FunPtr SymbolResolverFn0) Source # | |
| (MonadIO m, MonadAnyCont IO m) => DecodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol) Source # | |
Defined in LLVM.Internal.OrcJIT Methods decodeM :: Ptr JITSymbol0 -> m (Either JITSymbolError JITSymbol) Source # | |
| MonadIO m => EncodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol -> IO ()) Source # | |
Defined in LLVM.Internal.OrcJIT Methods encodeM :: Either JITSymbolError JITSymbol -> m (Ptr JITSymbol0 -> IO ()) Source # | |
type SymbolResolverFn = MangledSymbol -> IO (Either JITSymbolError JITSymbol) Source #
data SymbolResolver Source #
Specifies how external symbols in a module added to a
CompielLayer should be resolved.
Constructors
| SymbolResolver | |
Fields
| |
Instances
| MonadIO m => EncodeM m SymbolResolver (IORef [IO ()] -> IO (Ptr LambdaResolver)) Source # | |
Defined in LLVM.Internal.OrcJIT Methods encodeM :: SymbolResolver -> m (IORef [IO ()] -> IO (Ptr LambdaResolver)) Source # | |
allocWithCleanup :: IORef [IO ()] -> IO a -> (a -> IO ()) -> IO a Source #
Allocate the resource and register it for cleanup.
allocFunPtr :: IORef [IO ()] -> IO (FunPtr a) -> IO (FunPtr a) Source #
Allocate a function pointer and register it for cleanup.
createRegisteredDataLayout :: MonadAnyCont IO m => TargetMachine -> IORef [IO ()] -> m (Ptr DataLayout) Source #