Runtime

Struct Runtime 

Source
pub struct Runtime { /* private fields */ }
Expand description

A wrapper for the JSContext structure in SpiderMonkey.

Implementations§

Source§

impl Runtime

Source

pub fn get() -> Option<NonNull<JSContext>>

Get the JSContext for this thread.

Source

pub fn thread_safe_js_context(&self) -> ThreadSafeJSContext

Create a ThreadSafeJSContext that can detect when this Runtime is destroyed.

Source

pub fn new(engine: JSEngineHandle) -> Runtime

Creates a new JSContext.

Source

pub fn prepare_for_new_child(&self) -> ParentRuntime

Signal that a new child runtime will be created in the future, and ensure that this runtime will not allow itself to be destroyed before the new child runtime. Returns a handle that can be passed to create_with_parent in order to create a new runtime on another thread that is associated with this runtime.

Source

pub unsafe fn create_with_parent(parent: ParentRuntime) -> Runtime

Creates a new JSContext with a parent runtime. If the parent does not outlive the new runtime, its destructor will assert.

Unsafety: If panicking does not abort the program, any threads with child runtimes will continue executing after the thread with the parent runtime panics, but they will be in an invalid and undefined state.

Source

pub fn rt(&self) -> *mut JSRuntime

Returns the JSRuntime object.

Source

pub fn cx(&self) -> *mut JSContext

Returns the JSContext object.

Source

pub fn evaluate_script( &self, glob: HandleObject<'_>, script: &str, rval: MutableHandleValue<'_>, options: CompileOptionsWrapper, ) -> Result<(), ()>

Source

pub fn new_compile_options( &self, filename: &str, line: u32, ) -> CompileOptionsWrapper

Trait Implementations§

Source§

impl Drop for Runtime

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Traceable for Runtime

Source§

unsafe fn trace(&self, _: *mut JSTracer)

Trace self.

Auto Trait Implementations§

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> Filterable for T

Source§

fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>

Creates a filterable data provider with the given name for debugging. 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>,

Source§

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>,

Source§

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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 40 bytes