diff options
Diffstat (limited to 'src/rustllvm/RustGCStrategy.cpp')
| -rw-r--r-- | src/rustllvm/RustGCStrategy.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/rustllvm/RustGCStrategy.cpp b/src/rustllvm/RustGCStrategy.cpp new file mode 100644 index 00000000000..0c86856939c --- /dev/null +++ b/src/rustllvm/RustGCStrategy.cpp @@ -0,0 +1,34 @@ +//===- RustGCStrategy.cpp - Rust garbage collection strategy ----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the garbage collection strategy for Rust. +// +//===----------------------------------------------------------------------===// + +#include "llvm/CodeGen/GCs.h" +#include "llvm/CodeGen/GCStrategy.h" + +using namespace llvm; + +namespace { + class RustGCStrategy : public GCStrategy { + public: + RustGCStrategy(); + }; +} + +static GCRegistry::Add<RustGCStrategy> +X("rust", "Rust GC"); + +RustGCStrategy::RustGCStrategy() { + NeededSafePoints = 1 << GC::PostCall; + UsesMetadata = true; +} + + |
