mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-23 12:40:38 +00:00
Extend some comments around GCModuleInfo, GCFunctionInfo, & GCStrategy
Nothing particularly interesting here, just documenting the way the code currently works before I start changing it... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223866 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
24d058a523
commit
f8225ab80f
@ -80,8 +80,8 @@ namespace llvm {
|
||||
};
|
||||
|
||||
|
||||
/// GCFunctionInfo - Garbage collection metadata for a single function.
|
||||
///
|
||||
/// Garbage collection metadata for a single function. Currently, this
|
||||
/// information only applies to GCStrategies which use GCRoot.
|
||||
class GCFunctionInfo {
|
||||
public:
|
||||
typedef std::vector<GCPoint>::iterator iterator;
|
||||
@ -161,8 +161,9 @@ namespace llvm {
|
||||
};
|
||||
|
||||
|
||||
/// GCModuleInfo - Garbage collection metadata for a whole module.
|
||||
///
|
||||
/// An analysis pass which caches information about the entire Module.
|
||||
/// Records both the function level information used by GCRoots and a
|
||||
/// cache of the 'active' gc strategy objects for the current Module.
|
||||
class GCModuleInfo : public ImmutablePass {
|
||||
typedef StringMap<GCStrategy*> strategy_map_type;
|
||||
typedef std::vector<std::unique_ptr<GCStrategy>> list_type;
|
||||
|
@ -51,7 +51,9 @@ namespace llvm {
|
||||
|
||||
/// GCStrategy describes a garbage collector algorithm's code generation
|
||||
/// requirements, and provides overridable hooks for those needs which cannot
|
||||
/// be abstractly described.
|
||||
/// be abstractly described. GCStrategy objects currently must be looked up
|
||||
/// through the GCModuleInfo analysis pass. They are owned by the analysis
|
||||
/// pass and recreated every time that pass is invalidated.
|
||||
class GCStrategy {
|
||||
public:
|
||||
typedef std::vector<std::unique_ptr<GCFunctionInfo>> list_type;
|
||||
|
Loading…
Reference in New Issue
Block a user