Struct wasmtime_runtime::GcRoot

source ·
pub struct GcRoot<'a> { /* private fields */ }
Expand description

A GC root.

This is, effectively, a mutable reference to a VMGcRef.

Collector implementations should update the VMGcRef if they move the VMGcRef’s referent during the course of a GC.

Implementations§

source§

impl GcRoot<'_>

source

pub fn is_on_wasm_stack(&self) -> bool

Is this root from inside a Wasm stack frame?

source

pub fn get(&self) -> VMGcRef

Get this GC root.

Does NOT run GC barriers.

source

pub fn set(&mut self, new_ref: VMGcRef)

Set this GC root.

Does NOT run GC barriers.

Collector implementations should use this method to update GC root pointers after the collector moves the GC object that the root is referencing.

Auto Trait Implementations§

§

impl<'a> Freeze for GcRoot<'a>

§

impl<'a> RefUnwindSafe for GcRoot<'a>

§

impl<'a> Send for GcRoot<'a>

§

impl<'a> Sync for GcRoot<'a>

§

impl<'a> Unpin for GcRoot<'a>

§

impl<'a> !UnwindSafe for GcRoot<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.