Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype ModuleKey = ModuleKey Word64
- data JITSymbol
- data SymbolResolver
- data ExecutionSession
- newtype TargetAddress = TargetAddress Word64
- type SymbolResolverFn = CString -> Ptr JITSymbol -> IO ()
- wrapSymbolResolverFn :: SymbolResolverFn -> IO (FunPtr SymbolResolverFn)
- disposeSymbol :: Ptr JITSymbol -> IO ()
- createLambdaResolver :: Ptr ExecutionSession -> FunPtr SymbolResolverFn -> IO (Ptr SymbolResolver)
- disposeSymbolResolver :: Ptr SymbolResolver -> IO ()
- getAddress :: Ptr JITSymbol -> Ptr (OwnerTransfered CString) -> IO TargetAddress
- getFlags :: Ptr JITSymbol -> IO JITSymbolFlags
- getErrorMsg :: Ptr JITSymbol -> IO (OwnerTransfered CString)
- setJITSymbol :: Ptr JITSymbol -> TargetAddress -> JITSymbolFlags -> IO ()
- getMangledSymbol :: Ptr CString -> CString -> Ptr DataLayout -> IO ()
- disposeMangledSymbol :: CString -> IO ()
- createExecutionSession :: IO (Ptr ExecutionSession)
- disposeExecutionSession :: Ptr ExecutionSession -> IO ()
- allocateVModule :: Ptr ExecutionSession -> IO ModuleKey
- releaseVModule :: Ptr ExecutionSession -> ModuleKey -> IO ()
- wrapGetSymbolResolver :: (ModuleKey -> IO (Ptr SymbolResolver)) -> IO (FunPtr (ModuleKey -> IO (Ptr SymbolResolver)))
- wrapSetSymbolResolver :: (ModuleKey -> Ptr SymbolResolver -> IO ()) -> IO (FunPtr (ModuleKey -> Ptr SymbolResolver -> IO ()))
Documentation
Abstract type used as the identifier for a module.
Instances
(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 (MangledSymbol -> IO (Either JITSymbolError JITSymbol)) (FunPtr SymbolResolverFn) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: (MangledSymbol -> IO (Either JITSymbolError JITSymbol)) -> m (FunPtr SymbolResolverFn) 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 SymbolResolver Source #
Instances
MonadIO m => EncodeM m SymbolResolver (IORef [IO ()] -> Ptr ExecutionSession -> IO (Ptr SymbolResolver)) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: SymbolResolver -> m (IORef [IO ()] -> Ptr ExecutionSession -> IO (Ptr SymbolResolver0)) Source # |
data ExecutionSession Source #
Instances
MonadIO m => EncodeM m SymbolResolver (IORef [IO ()] -> Ptr ExecutionSession -> IO (Ptr SymbolResolver)) Source # | |
Defined in LLVM.Internal.OrcJIT encodeM :: SymbolResolver -> m (IORef [IO ()] -> Ptr ExecutionSession -> IO (Ptr SymbolResolver0)) Source # |
newtype TargetAddress Source #
createLambdaResolver :: Ptr ExecutionSession -> FunPtr SymbolResolverFn -> IO (Ptr SymbolResolver) Source #
disposeSymbolResolver :: Ptr SymbolResolver -> IO () Source #
getAddress :: Ptr JITSymbol -> Ptr (OwnerTransfered CString) -> IO TargetAddress Source #
getErrorMsg :: Ptr JITSymbol -> IO (OwnerTransfered CString) Source #
setJITSymbol :: Ptr JITSymbol -> TargetAddress -> JITSymbolFlags -> IO () Source #
getMangledSymbol :: Ptr CString -> CString -> Ptr DataLayout -> IO () Source #
disposeMangledSymbol :: CString -> IO () Source #
disposeExecutionSession :: Ptr ExecutionSession -> IO () Source #
releaseVModule :: Ptr ExecutionSession -> ModuleKey -> IO () Source #
wrapGetSymbolResolver :: (ModuleKey -> IO (Ptr SymbolResolver)) -> IO (FunPtr (ModuleKey -> IO (Ptr SymbolResolver))) Source #
wrapSetSymbolResolver :: (ModuleKey -> Ptr SymbolResolver -> IO ()) -> IO (FunPtr (ModuleKey -> Ptr SymbolResolver -> IO ())) Source #