llvm_sys/orc2/
ee.rs
1use super::{super::execution_engine::*, *};
2
3pub type LLVMMemoryManagerCreateContextCallback = extern "C" fn(CtxCtx: *mut ::libc::c_void);
4pub type LLVMMemoryManagerNotifyTerminatingCallback = extern "C" fn(CtxCtx: *mut ::libc::c_void);
5
6extern "C" {
7 pub fn LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager(
8 ES: LLVMOrcExecutionSessionRef,
9 ) -> LLVMOrcObjectLayerRef;
10 pub fn LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(
11 ES: LLVMOrcExecutionSessionRef,
12 CreateContext: LLVMMemoryManagerCreateContextCallback,
13 NotifyTerminating: LLVMMemoryManagerNotifyTerminatingCallback,
14 AllocateCodeSection: LLVMMemoryManagerAllocateCodeSectionCallback,
15 AllocateDataSection: LLVMMemoryManagerAllocateDataSectionCallback,
16 FinalizeMemory: LLVMMemoryManagerFinalizeMemoryCallback,
17 Destroy: LLVMMemoryManagerDestroyCallback,
18 ) -> LLVMOrcObjectLayerRef;
19 pub fn LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(
20 RTDyldObjLinkingLayer: LLVMOrcObjectLayerRef,
21 Listener: LLVMJITEventListenerRef,
22 );
23}