LLVM  4.0.0
Public Types | Public Member Functions | List of all members
llvm::GCFunctionInfo Class Reference

Garbage collection metadata for a single function. More...

#include <GCMetadata.h>

Public Types

typedef std::vector< GCPoint >
::iterator 
iterator
 
typedef std::vector< GCRoot >
::iterator 
roots_iterator
 
typedef std::vector< GCRoot >
::const_iterator 
live_iterator
 

Public Member Functions

 GCFunctionInfo (const Function &F, GCStrategy &S)
 
 ~GCFunctionInfo ()
 
const FunctiongetFunction () const
 getFunction - Return the function to which this metadata applies. More...
 
GCStrategygetStrategy ()
 getStrategy - Return the GC strategy for the function. More...
 
void addStackRoot (int Num, const Constant *Metadata)
 addStackRoot - Registers a root that lives on the stack. More...
 
roots_iterator removeStackRoot (roots_iterator position)
 removeStackRoot - Removes a root. More...
 
void addSafePoint (GC::PointKind Kind, MCSymbol *Label, const DebugLoc &DL)
 addSafePoint - Notes the existence of a safe point. More...
 
uint64_t getFrameSize () const
 getFrameSize/setFrameSize - Records the function's frame size. More...
 
void setFrameSize (uint64_t S)
 
iterator begin ()
 begin/end - Iterators for safe points. More...
 
iterator end ()
 
size_t size () const
 
roots_iterator roots_begin ()
 roots_begin/roots_end - Iterators for all roots in the function. More...
 
roots_iterator roots_end ()
 
size_t roots_size () const
 
live_iterator live_begin (const iterator &p)
 live_begin/live_end - Iterators for live roots at a given safe point. More...
 
live_iterator live_end (const iterator &p)
 
size_t live_size (const iterator &p) const
 

Detailed Description

Garbage collection metadata for a single function.

Currently, this information only applies to GCStrategies which use GCRoot.

Definition at line 74 of file GCMetadata.h.

Member Typedef Documentation

Definition at line 76 of file GCMetadata.h.

typedef std::vector<GCRoot>::const_iterator llvm::GCFunctionInfo::live_iterator

Definition at line 78 of file GCMetadata.h.

Definition at line 77 of file GCMetadata.h.

Constructor & Destructor Documentation

llvm::GCFunctionInfo::GCFunctionInfo ( const Function F,
GCStrategy S 
)
GCFunctionInfo::~GCFunctionInfo ( )

Definition at line 51 of file GCMetadata.cpp.

Member Function Documentation

void llvm::GCFunctionInfo::addSafePoint ( GC::PointKind  Kind,
MCSymbol Label,
const DebugLoc DL 
)
inline

addSafePoint - Notes the existence of a safe point.

Num is the ID of the label just prior to the safe point (if the code generator is using MachineModuleInfo).

Definition at line 124 of file GCMetadata.h.

void llvm::GCFunctionInfo::addStackRoot ( int  Num,
const Constant Metadata 
)
inline

addStackRoot - Registers a root that lives on the stack.

Num is the stack object ID for the alloca (if the code generator is

Definition at line 112 of file GCMetadata.h.

iterator llvm::GCFunctionInfo::begin ( )
inline

begin/end - Iterators for safe points.

Definition at line 135 of file GCMetadata.h.

iterator llvm::GCFunctionInfo::end ( )
inline

Definition at line 136 of file GCMetadata.h.

uint64_t llvm::GCFunctionInfo::getFrameSize ( ) const
inline

getFrameSize/setFrameSize - Records the function's frame size.

Definition at line 130 of file GCMetadata.h.

const Function& llvm::GCFunctionInfo::getFunction ( ) const
inline

getFunction - Return the function to which this metadata applies.

Definition at line 103 of file GCMetadata.h.

GCStrategy& llvm::GCFunctionInfo::getStrategy ( )
inline

getStrategy - Return the GC strategy for the function.

Definition at line 107 of file GCMetadata.h.

Referenced by llvm::SelectionDAGBuilder::LowerStatepoint().

live_iterator llvm::GCFunctionInfo::live_begin ( const iterator p)
inline

live_begin/live_end - Iterators for live roots at a given safe point.

Definition at line 147 of file GCMetadata.h.

References roots_begin().

live_iterator llvm::GCFunctionInfo::live_end ( const iterator p)
inline

Definition at line 148 of file GCMetadata.h.

References roots_end().

size_t llvm::GCFunctionInfo::live_size ( const iterator p) const
inline

Definition at line 149 of file GCMetadata.h.

References roots_size().

roots_iterator llvm::GCFunctionInfo::removeStackRoot ( roots_iterator  position)
inline

removeStackRoot - Removes a root.

Definition at line 117 of file GCMetadata.h.

roots_iterator llvm::GCFunctionInfo::roots_begin ( )
inline

roots_begin/roots_end - Iterators for all roots in the function.

Definition at line 141 of file GCMetadata.h.

Referenced by live_begin().

roots_iterator llvm::GCFunctionInfo::roots_end ( )
inline

Definition at line 142 of file GCMetadata.h.

Referenced by live_end().

size_t llvm::GCFunctionInfo::roots_size ( ) const
inline

Definition at line 143 of file GCMetadata.h.

Referenced by live_size().

void llvm::GCFunctionInfo::setFrameSize ( uint64_t  S)
inline

Definition at line 131 of file GCMetadata.h.

size_t llvm::GCFunctionInfo::size ( ) const
inline

Definition at line 137 of file GCMetadata.h.


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