Safe Haskell | None |
---|---|
Language | Haskell2010 |
Tools for JIT execution
Documentation
class ExecutionEngine e f | e -> f where Source #
withModuleInEngine :: e -> Module -> (ExecutableModule e -> IO a) -> IO a Source #
getFunction :: ExecutableModule e -> Name -> IO (Maybe f) Source #
Instances
ExecutionEngine MCJIT (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: MCJIT -> Module -> (ExecutableModule MCJIT -> IO a) -> IO a Source # getFunction :: ExecutableModule MCJIT -> Name -> IO (Maybe (FunPtr ())) Source # | |
ExecutionEngine (Ptr ExecutionEngine) (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: Ptr ExecutionEngine -> Module -> (ExecutableModule (Ptr ExecutionEngine) -> IO a) -> IO a Source # getFunction :: ExecutableModule (Ptr ExecutionEngine) -> Name -> IO (Maybe (FunPtr ())) Source # |
data ExecutableModule e Source #
a ExecutableModule
e represents a Module
which is currently "in" an
ExecutionEngine
, and so the functions of which may be executed.
http://llvm.org/doxygen/classllvm_1_1MCJIT.html http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html N.B. - the LLVM MCJIT does not current support adding multiple modules to any one instance of the MCJIT.
Instances
ExecutionEngine MCJIT (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: MCJIT -> Module -> (ExecutableModule MCJIT -> IO a) -> IO a Source # getFunction :: ExecutableModule MCJIT -> Name -> IO (Maybe (FunPtr ())) Source # |