diff options
author | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-08-17 18:44:35 +0000 |
---|---|---|
committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-08-17 18:44:35 +0000 |
commit | 5eca075b74d62c621b160aa216b4cd50829a2cc7 (patch) | |
tree | 5406e0182a3a20726e00eec044bbca1199e673b9 /include/llvm/CodeGen/GCs.h | |
parent | 94fb5f2a7066c427a9d3dac10a33ccbd02aac467 (diff) | |
download | llvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.gz llvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.bz2 llvm-5eca075b74d62c621b160aa216b4cd50829a2cc7.tar.xz |
Rename some GC classes so that their roll will hopefully be clearer.
In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:
Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)
Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/GCs.h')
-rw-r--r-- | include/llvm/CodeGen/GCs.h | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/include/llvm/CodeGen/GCs.h b/include/llvm/CodeGen/GCs.h index 7850ddcd82..c407b61674 100644 --- a/include/llvm/CodeGen/GCs.h +++ b/include/llvm/CodeGen/GCs.h @@ -1,4 +1,4 @@ -//===-- Collectors.h - Garbage collector registry -------------------------===// +//===-- GCs.h - Garbage collector linkage hacks ---------------------------===// // // The LLVM Compiler Infrastructure // @@ -7,41 +7,29 @@ // //===----------------------------------------------------------------------===// // -// This file declares the CollectorRegistry class, which is used to discover -// pluggable garbage collectors. +// This file contains hack functions to force linking in the GC components. // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_GCS_H #define LLVM_CODEGEN_GCS_H -#include "llvm/Support/Registry.h" - namespace llvm { - - class Collector; + class GCStrategy; class GCMetadataPrinter; - /// The collector registry uses all the defaults from Registry. - /// - typedef Registry<Collector> CollectorRegistry; - - /// The GC assembly printer registry uses all the defaults from Registry. - /// - typedef Registry<GCMetadataPrinter> GCMetadataPrinterRegistry; - /// FIXME: Collector instances are not useful on their own. These no longer /// serve any purpose except to link in the plugins. /// Creates an ocaml-compatible garbage collector. - Collector *createOcamlCollector(); + void linkOcamlGC(); /// Creates an ocaml-compatible metadata printer. - GCMetadataPrinter *createOcamlMetadataPrinter(); + void linkOcamlGCPrinter(); /// Creates a shadow stack garbage collector. This collector requires no code /// generator support. - Collector *createShadowStackCollector(); + void linkShadowStackGC(); } #endif |