[][src]Struct gluon_vm::gc::Gc

pub struct Gc { /* fields omitted */ }

A mark and sweep garbage collector.

Methods

impl Gc
[src]

Constructs a new garbage collector

Allocates a new object. If the garbage collector has hit the collection limit a collection will occur.

Unsafe since roots must be able to traverse all accesible GcPtr values.

Allocates a new object.

Does a mark and sweep collection by walking from roots. This function is unsafe since roots need to cover all reachable object.

Marks the GcPtr Returns true if the pointer was already marked

Clears out any unmarked pointers and resets marked pointers.

Unsafe as it is up to the caller to make sure that all reachable pointers have been marked

Trait Implementations

impl Debug for Gc
[src]

impl SerializeState<SeSeed> for Gc
[src]

impl<'de> DeserializeState<'de, DeSeed> for Gc
[src]

Auto Trait Implementations

impl Send for Gc

impl !Sync for Gc

Blanket Implementations

impl<D, T> FromPtr for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<Choices> CoproductSubsetter for Choices
[src]

impl<Source> Sculptor for Source
[src]

impl<T, U, I> LiftInto for T where
    U: LiftFrom<T, I>, 
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Any for T where
    T: Any
[src]