Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- linkInInterpreter :: IO ()
- linkInMCJIT :: IO ()
- data GenericValue
- type GenericValueRef = Ptr GenericValue
- createGenericValueOfInt :: TypeRef -> CULLong -> Bool -> IO GenericValueRef
- createGenericValueOfPointer :: Ptr a -> IO GenericValueRef
- createGenericValueOfFloat :: TypeRef -> CDouble -> IO GenericValueRef
- genericValueIntWidth :: GenericValueRef -> IO CUInt
- genericValueToInt :: GenericValueRef -> Bool -> IO CULLong
- genericValueToPointer :: GenericValueRef -> IO (Ptr a)
- genericValueToFloat :: TypeRef -> GenericValueRef -> IO CDouble
- ptrDisposeGenericValue :: FinalizerPtr GenericValue
- data ExecutionEngine
- type ExecutionEngineRef = Ptr ExecutionEngine
- data EngineKind
- = JIT
- | Interpreter
- type EngineKindSet = T CUInt EngineKind
- kindJIT :: EngineKindSet
- kindInterpreter :: EngineKindSet
- kindEither :: EngineKindSet
- createExecutionEngineKindForModuleCPU :: Ptr ExecutionEngineRef -> EngineKindSet -> ModuleRef -> Ptr CString -> IO Bool
- createExecutionEngineForModule :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool
- createExecutionEngineForModuleCPU :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool
- createInterpreterForModule :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool
- createInterpreterForModuleCPU :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool
- createJITCompilerForModule :: Ptr ExecutionEngineRef -> ModuleRef -> CUInt -> Ptr CString -> IO Bool
- createMCJITCompilerForModule :: Ptr ExecutionEngineRef -> ModuleRef -> MCJITCompilerOptionsRef -> CSize -> Ptr CString -> IO Bool
- initializeMCJITCompilerOptions :: MCJITCompilerOptionsRef -> CSize -> IO ()
- ptrDisposeExecutionEngine :: FinalizerPtr ExecutionEngine
- disposeExecutionEngine :: ExecutionEngineRef -> IO ()
- runStaticConstructors :: ExecutionEngineRef -> IO ()
- runStaticDestructors :: ExecutionEngineRef -> IO ()
- runFunctionAsMain :: ExecutionEngineRef -> ValueRef -> CUInt -> Ptr CString -> Ptr CString -> IO CInt
- freeMachineCodeForFunction :: ExecutionEngineRef -> ValueRef -> IO ()
- addModule :: ExecutionEngineRef -> ModuleRef -> IO ()
- removeModule :: ExecutionEngineRef -> ModuleRef -> Ptr ModuleRef -> Ptr CString -> IO Bool
- findFunction :: ExecutionEngineRef -> CString -> Ptr ValueRef -> IO Bool
- recompileAndRelinkFunction :: ExecutionEngineRef -> ValueRef -> IO (FunPtr a)
- runFunction :: ExecutionEngineRef -> ValueRef -> CUInt -> Ptr GenericValueRef -> IO GenericValueRef
- getExecutionEngineTargetData :: ExecutionEngineRef -> IO TargetDataRef
- addGlobalMapping :: ExecutionEngineRef -> ValueRef -> Ptr a -> IO ()
- addFunctionMapping :: ExecutionEngineRef -> ValueRef -> FunPtr a -> IO ()
- getPointerToGlobal :: ExecutionEngineRef -> ValueRef -> IO (Ptr a)
- getPointerToFunction :: ExecutionEngineRef -> ValueRef -> IO (FunPtr a)
Linking
linkInInterpreter :: IO () Source #
linkInMCJIT :: IO () Source #
Generic values
data GenericValue Source #
type GenericValueRef = Ptr GenericValue Source #
createGenericValueOfInt :: TypeRef -> CULLong -> Bool -> IO GenericValueRef Source #
createGenericValueOfFloat :: TypeRef -> CDouble -> IO GenericValueRef Source #
genericValueIntWidth :: GenericValueRef -> IO CUInt Source #
genericValueToInt :: GenericValueRef -> Bool -> IO CULLong Source #
genericValueToPointer :: GenericValueRef -> IO (Ptr a) Source #
genericValueToFloat :: TypeRef -> GenericValueRef -> IO CDouble Source #
ptrDisposeGenericValue :: FinalizerPtr GenericValue Source #
Execution engines
data ExecutionEngine Source #
type ExecutionEngineRef = Ptr ExecutionEngine Source #
data EngineKind Source #
Instances
type EngineKindSet = T CUInt EngineKind Source #
createExecutionEngineKindForModuleCPU :: Ptr ExecutionEngineRef -> EngineKindSet -> ModuleRef -> Ptr CString -> IO Bool Source #
createExecutionEngineForModule :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool Source #
createExecutionEngineForModuleCPU :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool Source #
createInterpreterForModule :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool Source #
createInterpreterForModuleCPU :: Ptr ExecutionEngineRef -> ModuleRef -> Ptr CString -> IO Bool Source #
createJITCompilerForModule :: Ptr ExecutionEngineRef -> ModuleRef -> CUInt -> Ptr CString -> IO Bool Source #
createMCJITCompilerForModule :: Ptr ExecutionEngineRef -> ModuleRef -> MCJITCompilerOptionsRef -> CSize -> Ptr CString -> IO Bool Source #
initializeMCJITCompilerOptions :: MCJITCompilerOptionsRef -> CSize -> IO () Source #
ptrDisposeExecutionEngine :: FinalizerPtr ExecutionEngine Source #
disposeExecutionEngine :: ExecutionEngineRef -> IO () Source #
runStaticConstructors :: ExecutionEngineRef -> IO () Source #
runStaticDestructors :: ExecutionEngineRef -> IO () Source #
freeMachineCodeForFunction :: ExecutionEngineRef -> ValueRef -> IO () Source #
findFunction :: ExecutionEngineRef -> CString -> Ptr ValueRef -> IO Bool Source #
recompileAndRelinkFunction :: ExecutionEngineRef -> ValueRef -> IO (FunPtr a) Source #
runFunction :: ExecutionEngineRef -> ValueRef -> CUInt -> Ptr GenericValueRef -> IO GenericValueRef Source #
addGlobalMapping :: ExecutionEngineRef -> ValueRef -> Ptr a -> IO () Source #
disfunctional in LLVM-3.6, see https://llvm.org/bugs/show_bug.cgi?id=20656
addFunctionMapping :: ExecutionEngineRef -> ValueRef -> FunPtr a -> IO () Source #
getPointerToGlobal :: ExecutionEngineRef -> ValueRef -> IO (Ptr a) Source #
getPointerToFunction :: ExecutionEngineRef -> ValueRef -> IO (FunPtr a) Source #