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

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

Fields

code: CArray<VmOpcode>stack: CArray<NativeValue>error: VmErrorerror_expected: u32

Methods

impl Vm[src]

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

pub unsafe fn new_nil() -> Vm[src]

pub fn print_stack(&self)[src]

pub fn execute(&mut self)[src]

pub fn cpush8(&mut self, n: u8)[src]

pub fn cpush16(&mut self, n: u16)[src]

pub fn cpush32(&mut self, n: u32)[src]

pub fn cpush64(&mut self, n: u64)[src]

pub fn cpushf64(&mut self, n: f64)[src]

pub fn cpushs<T: Into<Vec<u8>>>(&mut self, s: T)[src]

pub fn cfill_label16(&mut self, pos: usize, label: u16)[src]

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

pub fn mut_global(&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 unsafe fn localenv(&self) -> *mut Env[src]

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

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

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

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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<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> Borrow<T> for T where
    T: ?Sized
[src]

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

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