class EHFrameRegistrationPlugin

Declaration

class EHFrameRegistrationPlugin : 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/ObjectLinkingLayer.h:204

Inherits from: ObjectLinkingLayer::Plugin

Member Variables

private std::mutex EHFramePluginMutex
private llvm::orc::ExecutionSession& ES
private std::unique_ptr<jitlink::EHFrameRegistrar> Registrar
private DenseMap<llvm::orc::ResourceKey, std::vector<ExecutorAddrRange>> EHFrameRanges

Method Overview

  • public EHFrameRegistrationPlugin(llvm::orc::ExecutionSession & ES, std::unique_ptr<jitlink::EHFrameRegistrar> Registrar)
  • public void modifyPassConfig(llvm::orc::MaterializationResponsibility & MR, jitlink::LinkGraph & G, jitlink::PassConfiguration & PassConfig)
  • public llvm::Error notifyEmitted(llvm::orc::MaterializationResponsibility & MR)
  • 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)

Inherited from ObjectLinkingLayer::Plugin:

Methods

EHFrameRegistrationPlugin(
    llvm::orc::ExecutionSession& ES,
    std::unique_ptr<jitlink::EHFrameRegistrar>
        Registrar)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:206

Parameters

llvm::orc::ExecutionSession& ES
std::unique_ptr<jitlink::EHFrameRegistrar> Registrar

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:209

Parameters

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

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:212

Parameters

llvm::orc::MaterializationResponsibility& MR

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:213

Parameters

llvm::orc::MaterializationResponsibility& MR

llvm::Error notifyRemovingResources(
    llvm::orc::ResourceKey K)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:214

Parameters

llvm::orc::ResourceKey K

void notifyTransferringResources(
    llvm::orc::ResourceKey DstKey,
    llvm::orc::ResourceKey SrcKey)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h:215

Parameters

llvm::orc::ResourceKey DstKey
llvm::orc::ResourceKey SrcKey