2008-08-17 18:44:35 +00:00
|
|
|
//===-- GCs.h - Garbage collector linkage hacks ---------------------------===//
|
2007-09-27 19:34:27 +00:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-29 19:59:42 +00:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2007-09-27 19:34:27 +00:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
2008-08-17 18:44:35 +00:00
|
|
|
// This file contains hack functions to force linking in the GC components.
|
2007-09-27 19:34:27 +00:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2008-08-17 12:56:54 +00:00
|
|
|
#ifndef LLVM_CODEGEN_GCS_H
|
|
|
|
#define LLVM_CODEGEN_GCS_H
|
2007-09-27 19:34:27 +00:00
|
|
|
|
|
|
|
namespace llvm {
|
2008-08-17 18:44:35 +00:00
|
|
|
class GCStrategy;
|
2008-08-17 12:08:44 +00:00
|
|
|
class GCMetadataPrinter;
|
2007-09-27 19:34:27 +00:00
|
|
|
|
2007-12-11 00:30:17 +00:00
|
|
|
/// FIXME: Collector instances are not useful on their own. These no longer
|
|
|
|
/// serve any purpose except to link in the plugins.
|
|
|
|
|
2007-09-27 19:34:27 +00:00
|
|
|
/// Creates an ocaml-compatible garbage collector.
|
2008-08-17 18:44:35 +00:00
|
|
|
void linkOcamlGC();
|
2007-09-27 19:34:27 +00:00
|
|
|
|
2008-08-17 12:56:54 +00:00
|
|
|
/// Creates an ocaml-compatible metadata printer.
|
2008-08-17 18:44:35 +00:00
|
|
|
void linkOcamlGCPrinter();
|
2013-03-25 13:47:46 +00:00
|
|
|
|
|
|
|
/// Creates an erlang-compatible garbage collector.
|
|
|
|
void linkErlangGC();
|
|
|
|
|
|
|
|
/// Creates an erlang-compatible metadata printer.
|
|
|
|
void linkErlangGCPrinter();
|
2008-08-17 12:56:54 +00:00
|
|
|
|
2007-09-27 19:34:27 +00:00
|
|
|
/// Creates a shadow stack garbage collector. This collector requires no code
|
|
|
|
/// generator support.
|
2008-08-17 18:44:35 +00:00
|
|
|
void linkShadowStackGC();
|
2007-09-27 19:34:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|