LLVM  14.0.0git
Public Member Functions | Friends | List of all members
llvm::orc::ResourceTracker Class Reference

API to remove / transfer ownership of JIT resources. More...

#include "llvm/ExecutionEngine/Orc/Core.h"

Inheritance diagram for llvm::orc::ResourceTracker:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::ResourceTracker:
Collaboration graph
[legend]

Public Member Functions

 ResourceTracker (const ResourceTracker &)=delete
 
ResourceTrackeroperator= (const ResourceTracker &)=delete
 
 ResourceTracker (ResourceTracker &&)=delete
 
ResourceTrackeroperator= (ResourceTracker &&)=delete
 
 ~ResourceTracker ()
 
JITDylibgetJITDylib () const
 Return the JITDylib targeted by this tracker. More...
 
Error remove ()
 Remove all resources associated with this key. More...
 
void transferTo (ResourceTracker &DstRT)
 Transfer all resources associated with this key to the given tracker, which must target the same JITDylib as this one. More...
 
bool isDefunct () const
 Return true if this tracker has become defunct. More...
 
ResourceKey getKeyUnsafe () const
 Returns the key associated with this tracker. More...
 
- Public Member Functions inherited from llvm::ThreadSafeRefCountedBase< ResourceTracker >
void Retain () const
 
void Release () const
 

Friends

class ExecutionSession
 
class JITDylib
 
class MaterializationResponsibility
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::ThreadSafeRefCountedBase< ResourceTracker >
 ThreadSafeRefCountedBase ()=default
 
 ThreadSafeRefCountedBase (const ThreadSafeRefCountedBase &)
 
ThreadSafeRefCountedBaseoperator= (const ThreadSafeRefCountedBase &)=delete
 
 ~ThreadSafeRefCountedBase ()
 

Detailed Description

API to remove / transfer ownership of JIT resources.

Definition at line 53 of file Core.h.

Constructor & Destructor Documentation

◆ ResourceTracker() [1/2]

llvm::orc::ResourceTracker::ResourceTracker ( const ResourceTracker )
delete

◆ ResourceTracker() [2/2]

llvm::orc::ResourceTracker::ResourceTracker ( ResourceTracker &&  )
delete

◆ ~ResourceTracker()

llvm::orc::ResourceTracker::~ResourceTracker ( )

Member Function Documentation

◆ getJITDylib()

JITDylib& llvm::orc::ResourceTracker::getJITDylib ( ) const
inline

Return the JITDylib targeted by this tracker.

Definition at line 68 of file Core.h.

Referenced by llvm::orc::MachOPlatform::notifyAdding(), remove(), transferTo(), and ~ResourceTracker().

◆ getKeyUnsafe()

ResourceKey llvm::orc::ResourceTracker::getKeyUnsafe ( ) const
inline

Returns the key associated with this tracker.

This method should not be used except for debug logging: there is no guarantee that the returned value will remain valid.

Definition at line 86 of file Core.h.

◆ isDefunct()

bool llvm::orc::ResourceTracker::isDefunct ( ) const
inline

Return true if this tracker has become defunct.

Definition at line 81 of file Core.h.

◆ operator=() [1/2]

ResourceTracker& llvm::orc::ResourceTracker::operator= ( const ResourceTracker )
delete

◆ operator=() [2/2]

ResourceTracker& llvm::orc::ResourceTracker::operator= ( ResourceTracker &&  )
delete

◆ remove()

Error llvm::orc::ResourceTracker::remove ( )

Remove all resources associated with this key.

Definition at line 52 of file Core.cpp.

References llvm::orc::JITDylib::getExecutionSession(), and getJITDylib().

◆ transferTo()

void llvm::orc::ResourceTracker::transferTo ( ResourceTracker DstRT)

Transfer all resources associated with this key to the given tracker, which must target the same JITDylib as this one.

Definition at line 56 of file Core.cpp.

References llvm::orc::JITDylib::getExecutionSession(), and getJITDylib().

Friends And Related Function Documentation

◆ ExecutionSession

friend class ExecutionSession
friend

Definition at line 55 of file Core.h.

◆ JITDylib

friend class JITDylib
friend

Definition at line 56 of file Core.h.

◆ MaterializationResponsibility

friend class MaterializationResponsibility
friend

Definition at line 57 of file Core.h.


The documentation for this class was generated from the following files: