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}