2008-08-17 20:44:35 +02:00
|
|
|
//===-- GCs.h - Garbage collector linkage hacks ---------------------------===//
|
2007-09-27 21:34:27 +02:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-29 20:59:42 +01:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2007-09-27 21:34:27 +02:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
2008-08-17 20:44:35 +02:00
|
|
|
// This file contains hack functions to force linking in the GC components.
|
2007-09-27 21:34:27 +02:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2008-08-17 14:56:54 +02:00
|
|
|
#ifndef LLVM_CODEGEN_GCS_H
|
|
|
|
#define LLVM_CODEGEN_GCS_H
|
2007-09-27 21:34:27 +02:00
|
|
|
|
|
|
|
namespace llvm {
|
2008-08-17 20:44:35 +02:00
|
|
|
class GCStrategy;
|
2008-08-17 14:08:44 +02:00
|
|
|
class GCMetadataPrinter;
|
2007-09-27 21:34:27 +02:00
|
|
|
|
2007-12-11 01:30:17 +01: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 21:34:27 +02:00
|
|
|
/// Creates an ocaml-compatible garbage collector.
|
2008-08-17 20:44:35 +02:00
|
|
|
void linkOcamlGC();
|
2007-09-27 21:34:27 +02:00
|
|
|
|
2008-08-17 14:56:54 +02:00
|
|
|
/// Creates an ocaml-compatible metadata printer.
|
2008-08-17 20:44:35 +02:00
|
|
|
void linkOcamlGCPrinter();
|
2008-08-17 14:56:54 +02:00
|
|
|
|
2007-09-27 21:34:27 +02:00
|
|
|
/// Creates a shadow stack garbage collector. This collector requires no code
|
|
|
|
/// generator support.
|
2008-08-17 20:44:35 +02:00
|
|
|
void linkShadowStackGC();
|
2007-09-27 21:34:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|