LLVM  10.0.0svn

Base Atom class. Used by absolute and undefined atoms. More...

#include "llvm/ExecutionEngine/JITLink/JITLink.h"

[legend]
[legend]

## Public Member Functions

bool hasName () const
Returns true if this atom has a name. More...

StringRef getName () const
Returns the name of this atom. More...

Returns the current target address of this atom. More...

Set the current target address of this atom. More...

bool isDefined () const
Returns true if this is a defined atom. More...

bool isLive () const
Returns true if this atom is marked as live. More...

void setLive (bool IsLive)
Mark this atom as live. More...

Returns true if this atom should be discarded during pruning. More...

Mark this atom to be discarded. More...

bool isGlobal () const
Returns true if this definition is global (i.e. More...

void setGlobal (bool IsGlobal)
Mark this atom as global. More...

bool isAbsolute () const
Returns true if this atom represents an absolute symbol. More...

bool isCallable () const
Returns true if this atom is known to be callable. More...

void setCallable (bool IsCallable)
Mark this atom as callable. More...

bool isExported () const
Returns true if this atom should appear in the symbol table of a final linked image. More...

void setExported (bool IsExported)
Mark this atom as exported. More...

bool isWeak () const
Returns true if this is a weak symbol. More...

void setWeak (bool IsWeak)
Mark this atom as weak. More...

## Protected Member Functions

Atom (StringRef Name)
Create a named (as yet unresolved) atom. More...

Create an absolute symbol atom. More...

## Protected Attributes

bool HasLayoutNext: 1

bool IsCommon: 1

class AtomGraph

## Detailed Description

Base Atom class. Used by absolute and undefined atoms.

Definition at line 102 of file JITLink.h.

## ◆ Atom() [1/2]

inlineprotected

Create a named (as yet unresolved) atom.

Definition at line 107 of file JITLink.h.

## ◆ Atom() [2/2]

inlineprotected

Create an absolute symbol atom.

Definition at line 114 of file JITLink.h.

## Member Function Documentation

inline

Returns the current target address of this atom.

The initial target address (for atoms that have one) will be taken from the input object file's virtual address space. During the layout phase of JIT linking the atom's address will be updated to point to its final address in the JIT'd process.

Definition at line 132 of file JITLink.h.

## ◆ getName()

inline

Returns the name of this atom.

Definition at line 125 of file JITLink.h.

References Name.

## ◆ hasName()

inline

Returns true if this atom has a name.

Definition at line 122 of file JITLink.h.

References Name.

## ◆ isAbsolute()

inline

Returns true if this atom represents an absolute symbol.

Definition at line 175 of file JITLink.h.

## ◆ isCallable()

inline

Returns true if this atom is known to be callable.

Primarily provided for easy interoperability with ORC, which uses the JITSymbolFlags::Common flag to identify symbols that can be interposed with stubs.

Definition at line 182 of file JITLink.h.

## ◆ isDefined()

inline

Returns true if this is a defined atom.

Definition at line 138 of file JITLink.h.

## ◆ isExported()

inline

Returns true if this atom should appear in the symbol table of a final linked image.

Definition at line 193 of file JITLink.h.

## ◆ isGlobal()

inline

Returns true if this definition is global (i.e.

Note: This is distict from Exported, which means visibile outside the JITDylib that this graph is being linked in to.

Definition at line 169 of file JITLink.h.

## ◆ isLive()

inline

Returns true if this atom is marked as live.

Definition at line 141 of file JITLink.h.

## ◆ isWeak()

inline

Returns true if this is a weak symbol.

Definition at line 203 of file JITLink.h.

inline

Set the current target address of this atom.

Definition at line 135 of file JITLink.h.

## ◆ setCallable()

 void llvm::jitlink::Atom::setCallable ( bool IsCallable )
inline

Mark this atom as callable.

Definition at line 185 of file JITLink.h.

References assert().

## ◆ setExported()

 void llvm::jitlink::Atom::setExported ( bool IsExported )
inline

Mark this atom as exported.

Definition at line 196 of file JITLink.h.

References assert().

## ◆ setGlobal()

 void llvm::jitlink::Atom::setGlobal ( bool IsGlobal )
inline

Mark this atom as global.

Definition at line 172 of file JITLink.h.

## ◆ setLive()

 void llvm::jitlink::Atom::setLive ( bool IsLive )
inline

Mark this atom as live.

Note: Only defined and absolute atoms can be marked live.

Definition at line 146 of file JITLink.h.

References assert().

inline

Mark this atom to be discarded.

Note: Only defined and absolute atoms can be marked live.

Definition at line 158 of file JITLink.h.

References assert().

## ◆ setWeak()

 void llvm::jitlink::Atom::setWeak ( bool IsWeak )
inline

Mark this atom as weak.

Definition at line 206 of file JITLink.h.

inline

Returns true if this atom should be discarded during pruning.

Definition at line 153 of file JITLink.h.

## ◆ AtomGraph

 friend class AtomGraph
friend

Definition at line 103 of file JITLink.h.

## ◆ HasLayoutNext

protected

Definition at line 225 of file JITLink.h.