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

Inherited from ObjectLinkingLayer::Plugin:

Methods

MachOPlatformPlugin(llvm::orc::MachOPlatform& MP)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:115

Parameters

llvm::orc::MachOPlatform& MP

llvm::Error associateJITDylibHeaderSymbol(
    jitlink::LinkGraph& G,
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:141

Parameters

jitlink::LinkGraph& G
llvm::orc::MaterializationResponsibility& MR

llvm::Error fixTLVSectionsAndEdges(
    jitlink::LinkGraph& G,
    llvm::orc::JITDylib& JD)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:150

Parameters

jitlink::LinkGraph& G
llvm::orc::JITDylib& JD

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

llvm::orc::MaterializationResponsibility& MR

void modifyPassConfig(
    llvm::orc::MaterializationResponsibility& MR,
    jitlink::LinkGraph& G,
    jitlink::PassConfiguration& Config)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:117

Parameters

llvm::orc::MaterializationResponsibility& MR
jitlink::LinkGraph& G
jitlink::PassConfiguration& Config

llvm::Error notifyFailed(
    llvm::orc::MaterializationResponsibility& MR)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:126

Parameters

llvm::orc::MaterializationResponsibility& MR

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)

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)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:144

Parameters

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

jitlink::LinkGraph& G
llvm::orc::MaterializationResponsibility& MR

llvm::Error registerEHSectionsPhase1(
    jitlink::LinkGraph& G)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:154

Parameters

jitlink::LinkGraph& G

llvm::Error registerObjectPlatformSections(
    jitlink::LinkGraph& G,
    llvm::orc::JITDylib& JD)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h:152

Parameters

jitlink::LinkGraph& G
llvm::orc::JITDylib& JD