Struct gluon_vm::vm::GlobalVmState
source · pub struct GlobalVmState {
pub gc: Mutex<Gc>,
pub generation_0_threads: RwLock<Slab<GcPtr<Thread>>>,
/* private fields */
}
Fields§
§gc: Mutex<Gc>
§generation_0_threads: RwLock<Slab<GcPtr<Thread>>>
Implementations§
source§impl GlobalVmState
impl GlobalVmState
pub fn new() -> Self
pub fn type_cache(&self) -> &TypeCache<Symbol, ArcType>
pub fn new_global_thunk( &self, thread: &Thread, f: CompiledModule ) -> Result<OpaqueValue<RootedThread, GcPtr<ClosureData>>>
pub fn get_type<T: ?Sized + Any>(&self) -> Option<ArcType>
pub fn get_generic(&self, name: &str) -> ArcType
sourcepub fn register_type<T: ?Sized + Any>(
&self,
name: &str,
args: &[&str]
) -> Result<ArcType>
pub fn register_type<T: ?Sized + Any>( &self, name: &str, args: &[&str] ) -> Result<ArcType>
Registers a new type called name
pub fn register_type_as( &self, name: Symbol, alias: Alias<Symbol, ArcType>, id: TypeId ) -> Result<ArcType>
pub fn get_macros(&self) -> &MacroEnv
pub fn intern(&self, s: &str) -> Result<InternedStr>
sourcepub fn get_env<'t>(&'t self, thread: &'t Thread) -> VmEnvInstance<'t>
pub fn get_env<'t>(&'t self, thread: &'t Thread) -> VmEnvInstance<'t>
Returns a borrowed structure which implements CompilerEnv
pub fn get_capability<'t, T>(&'t self, thread: &'t Thread) -> Option<T>where
T: Any,
pub fn get_debug_level(&self) -> DebugLevel
pub fn set_debug_level(&self, debug_level: DebugLevel)
pub fn spawner(&self) -> Option<&(dyn Spawn + Send + Sync)>
Trait Implementations§
source§impl<'de, 'gc> DeserializeState<'de, DeSeed<'gc>> for GlobalVmState
impl<'de, 'gc> DeserializeState<'de, DeSeed<'gc>> for GlobalVmState
source§fn deserialize_state<__D>(
__seed: &mut DeSeed<'gc>,
__deserializer: __D
) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize_state<__D>(
__seed: &mut DeSeed<'gc>,
__deserializer: __D
) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserializes
Self
using seed
and the deserializer
source§impl SerializeState<SeSeed> for GlobalVmState
impl SerializeState<SeSeed> for GlobalVmState
source§fn serialize_state<__S>(
&self,
__serializer: __S,
__seed: &SeSeed
) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
fn serialize_state<__S>(
&self,
__serializer: __S,
__seed: &SeSeed
) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
Serializes
self
Auto Trait Implementations§
impl !RefUnwindSafe for GlobalVmState
impl Send for GlobalVmState
impl Sync for GlobalVmState
impl Unpin for GlobalVmState
impl !UnwindSafe for GlobalVmState
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.