Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
.
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.
JITSymbolFlags | |
|
Instances
JITSymbol | |
|
Instances
Eq JITSymbol Source # | |
Ord JITSymbol Source # | |
Defined in LLVM.Internal.OrcJIT | |
Show JITSymbol Source # | |
MonadIO m => EncodeM m SymbolResolverFn (FunPtr SymbolResolverFn) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: SymbolResolverFn -> m (FunPtr SymbolResolverFn0) Source # | |
(MonadIO m, MonadAnyCont IO m) => DecodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol) Source # | |
Defined in LLVM.Internal.OrcJIT decodeM :: Ptr JITSymbol0 -> m (Either JITSymbolError JITSymbol) Source # | |
MonadIO m => EncodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol -> IO ()) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: Either JITSymbolError JITSymbol -> m (Ptr JITSymbol0 -> IO ()) Source # |
data JITSymbolError Source #
Instances
Eq JITSymbolError Source # | |
Defined in LLVM.Internal.OrcJIT (==) :: JITSymbolError -> JITSymbolError -> Bool # (/=) :: JITSymbolError -> JITSymbolError -> Bool # | |
Show JITSymbolError Source # | |
Defined in LLVM.Internal.OrcJIT showsPrec :: Int -> JITSymbolError -> ShowS # show :: JITSymbolError -> String # showList :: [JITSymbolError] -> ShowS # | |
MonadIO m => EncodeM m SymbolResolverFn (FunPtr SymbolResolverFn) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: SymbolResolverFn -> m (FunPtr SymbolResolverFn0) Source # | |
(MonadIO m, MonadAnyCont IO m) => DecodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol) Source # | |
Defined in LLVM.Internal.OrcJIT decodeM :: Ptr JITSymbol0 -> m (Either JITSymbolError JITSymbol) Source # | |
MonadIO m => EncodeM m (Either JITSymbolError JITSymbol) (Ptr JITSymbol -> IO ()) Source # | |
Defined in LLVM.Internal.OrcJIT 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.
SymbolResolver | |
|
Instances
MonadIO m => EncodeM m SymbolResolver (IORef [IO ()] -> IO (Ptr LambdaResolver)) Source # | |
Defined in LLVM.Internal.OrcJIT 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 #