Struct boehm::tracing::GcTracing
pub struct GcTracing<T> {
// some fields omitted
}A pointer that uses type information to inform the GC about what things could possibly be pointers, and what can just be ignored.
That is, run Boehm in precise-on-the-heap mode.
Fields
Methods
impl<T: BoehmTraced> GcTracing<T>
fn new(value: T) -> GcTracing<T>
Create a new GcTracing.
NB. this extracts the type information at runtime, for each allocation, and so is quite slow.
TODO: fix that (requires compiler hooks)
fn borrow<'r>(&'r self) -> &'r T
Trait Implementations
impl<T: Clone> Clone for GcTracing<T>
Automatically derived.
fn clone(&self) -> GcTracing<T>
impl<T> BoehmTraced for GcTracing<T>
fn indicate_ptr_words(_dummy: Option<GcTracing<T>>, words: &mut [bool])
Mark which words within Self can possibly hold relevant
pointers (do not explicitly mark which words are not
pointers).
E.g. struct Foo { x: uint, y: GcTracing<uint>, z:
GcTracing<uint> } should explicitly set words[1] and
words[2] to true but leave words[0] untouched.
As long as get_tracing_descr is not overridden,
words is guaranteed to be large enough to hold all the words
in the current type.
fn get_tracing_descr(dummy: Option<Self>) -> GC_descr
Construct the GC_descr of Self. This should not be
overriden.