class MachOPlatform::MachOPlatformPlugin
Declaration
class MachOPlatform::MachOPlatformPlugin : public Plugin { /* full declaration omitted */ };
Description
Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or emitted, and when JITLink is being configured.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:113
Inherits from: ObjectLinkingLayer::Plugin
Member Variables
- private std::mutex PluginMutex
- private llvm::orc::MachOPlatform& MP
- private DenseMap<llvm::orc::JITDylib*, std::pair<uint32_t, uint32_t>> ObjCImageInfos
- private DenseMap<llvm::orc::JITDylib*, llvm::orc::ExecutorAddr> HeaderAddrs
- private llvm::orc::MachOPlatform::MachOPlatformPlugin:: InitSymbolDepMap InitSymbolDeps
Method Overview
- public MachOPlatformPlugin(llvm::orc::MachOPlatform & MP)
- private llvm::Error associateJITDylibHeaderSymbol(jitlink::LinkGraph & G, llvm::orc::MaterializationResponsibility & MR)
- private llvm::Error fixTLVSectionsAndEdges(jitlink::LinkGraph & G, llvm::orc::JITDylib & JD)
- public llvm::orc::ObjectLinkingLayer::Plugin::SyntheticSymbolDependenciesMap getSyntheticSymbolDependencies(llvm::orc::MaterializationResponsibility & MR)
- public void modifyPassConfig(llvm::orc::MaterializationResponsibility & MR, jitlink::LinkGraph & G, jitlink::PassConfiguration & Config)
- public llvm::Error notifyFailed(llvm::orc::MaterializationResponsibility & MR)
- public llvm::Error notifyRemovingResources(llvm::orc::ResourceKey K)
- public void notifyTransferringResources(llvm::orc::ResourceKey DstKey, llvm::orc::ResourceKey SrcKey)
- private llvm::Error preserveInitSections(jitlink::LinkGraph & G, llvm::orc::MaterializationResponsibility & MR)
- private llvm::Error processObjCImageInfo(jitlink::LinkGraph & G, llvm::orc::MaterializationResponsibility & MR)
- private llvm::Error registerEHSectionsPhase1(jitlink::LinkGraph & G)
- private llvm::Error registerObjectPlatformSections(jitlink::LinkGraph & G, llvm::orc::JITDylib & JD)
Inherited from ObjectLinkingLayer::Plugin:
- public getSyntheticSymbolDependencies
- public modifyPassConfig
- public notifyEmitted
- public notifyFailed
- public notifyLoaded
- public notifyMaterializing
- public notifyRemovingResources
- public notifyTransferringResources
Methods
¶MachOPlatformPlugin(llvm::orc::MachOPlatform& MP)
MachOPlatformPlugin(llvm::orc::MachOPlatform& MP)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:115
Parameters
¶llvm::Error associateJITDylibHeaderSymbol(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
llvm::Error associateJITDylibHeaderSymbol(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:141
Parameters
¶llvm::Error fixTLVSectionsAndEdges(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
llvm::Error fixTLVSectionsAndEdges(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:150
Parameters
¶llvm::orc::ObjectLinkingLayer::Plugin::
SyntheticSymbolDependenciesMap
getSyntheticSymbolDependencies(
llvm::orc::MaterializationResponsibility&
MR)
llvm::orc::ObjectLinkingLayer::Plugin::
SyntheticSymbolDependenciesMap
getSyntheticSymbolDependencies(
llvm::orc::MaterializationResponsibility&
MR)
Description
Return any dependencies that synthetic symbols (e.g. init symbols) have on symbols in the LinkGraph. This is used by the ObjectLinkingLayer to update the dependencies for the synthetic symbols.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:122
Parameters
¶void modifyPassConfig(
llvm::orc::MaterializationResponsibility& MR,
jitlink::LinkGraph& G,
jitlink::PassConfiguration& Config)
void modifyPassConfig(
llvm::orc::MaterializationResponsibility& MR,
jitlink::LinkGraph& G,
jitlink::PassConfiguration& Config)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:117
Parameters
¶llvm::Error notifyFailed(
llvm::orc::MaterializationResponsibility& MR)
llvm::Error notifyFailed(
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:126
Parameters
¶llvm::Error notifyRemovingResources(
llvm::orc::ResourceKey K)
llvm::Error notifyRemovingResources(
llvm::orc::ResourceKey K)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:130
Parameters
- llvm::orc::ResourceKey K
¶void notifyTransferringResources(
llvm::orc::ResourceKey DstKey,
llvm::orc::ResourceKey SrcKey)
void notifyTransferringResources(
llvm::orc::ResourceKey DstKey,
llvm::orc::ResourceKey SrcKey)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:134
Parameters
- llvm::orc::ResourceKey DstKey
- llvm::orc::ResourceKey SrcKey
¶llvm::Error preserveInitSections(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
llvm::Error preserveInitSections(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:144
Parameters
¶llvm::Error processObjCImageInfo(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
llvm::Error processObjCImageInfo(
jitlink::LinkGraph& G,
llvm::orc::MaterializationResponsibility& MR)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:147
Parameters
¶llvm::Error registerEHSectionsPhase1(
jitlink::LinkGraph& G)
llvm::Error registerEHSectionsPhase1(
jitlink::LinkGraph& G)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:154
Parameters
¶llvm::Error registerObjectPlatformSections(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
llvm::Error registerObjectPlatformSections(
jitlink::LinkGraph& G,
llvm::orc::JITDylib& JD)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:152