[][src]Struct haru::vmbindings::vm::Vm

#[repr(C)]
pub struct Vm { pub code: Option<CArray<u8>>, pub stack: CArray<NativeValue>, pub error: VmError, pub error_expected: u32, pub modules_info: Option<Rc<RefCell<ModulesInfo>>>, // some fields omitted }

Fields

code: Option<CArray<u8>>stack: CArray<NativeValue>error: VmErrorerror_expected: u32modules_info: Option<Rc<RefCell<ModulesInfo>>>

Methods

impl Vm[src]

pub fn new(
    code: Option<CArray<u8>>,
    modules_info: Option<Rc<RefCell<ModulesInfo>>>
) -> Vm
[src]

pub fn print_stack(&self)[src]

pub fn execute(&mut self)[src]

pub fn global(&self) -> &CHashMap[src]

pub fn mut_global(&mut self) -> &mut CHashMap[src]

pub fn malloc<T: Sized + GcTraceable>(&self, val: T) -> Gc<T>[src]

pub fn gc_disable(&self)[src]

pub fn gc_enable(&self)[src]

pub unsafe fn mark(&self)[src]

pub unsafe fn enter_env(&mut self, fun: &'static Function)[src]

pub unsafe fn enter_env_tail(&mut self, fun: &'static Function)[src]

pub unsafe fn leave_env(&mut self)[src]

pub fn localenv(&self) -> Option<NonNull<Env>>[src]

pub fn localenv_is_null(&self) -> bool[src]

pub fn localenv_bp(&self) -> *mut Env[src]

pub fn localenv_to_vec(&self) -> Vec<Env>[src]

Converts call stack into vector of stack frames.

This is used for error handling and such.

pub fn enter_exframe(&mut self) -> &mut ExFrame[src]

pub fn leave_exframe(&mut self)[src]

pub fn raise(&mut self) -> bool[src]

pub fn call(
    &mut self,
    fun: NativeValue,
    args: &CArray<NativeValue>
) -> Option<NativeValue>
[src]

pub unsafe fn new_exec_ctx(&mut self) -> ManuallyDrop<Vm>[src]

pub unsafe fn restore_exec_ctx(&mut self, ctx: ManuallyDrop<Vm>)[src]

pub fn ip(&self) -> u32[src]

pub fn jmp(&mut self, ip: u32)[src]

pub fn load_module(&mut self, path: &str)[src]

Trait Implementations

impl Drop for Vm[src]

Auto Trait Implementations

impl !Send for Vm

impl !Sync for Vm

Blanket Implementations

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

impl<T> From<T> for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.

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

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

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