Skip to main content

ThreadStack

Trait ThreadStack 

Source
pub trait ThreadStack: Sealed {
Show 15 methods // Required methods unsafe fn check_stack_internal(&self, needed: i32) -> VmErrorResult; unsafe fn check_stack_for_new_ci(&self, needed: i32) -> VmErrorResult; unsafe fn get_grown_stack_size(&self, needed: i32) -> i32; unsafe fn stack_limit_reached(&self, needed: i32) -> bool; unsafe fn save_stack(&self, pointer: TValueCursor) -> isize; unsafe fn restore_stack(&self, offset: isize) -> TValueCursor; unsafe fn save_ci(&self, pointer: CallInfoCursor) -> isize; unsafe fn restore_ci(&self, offset: isize) -> CallInfoCursor; unsafe fn expand_stack_limit(&self, pointer: TValueCursor); unsafe fn realloc_stack( &self, new_size: i32, for_new_ci: bool, ) -> VmErrorResult; unsafe fn realloc_ci(&self, new_size: i32) -> VmErrorResult; unsafe fn grow_stack(&self, needed: i32) -> VmErrorResult; unsafe fn grow_ci(&self) -> VmErrorResult<CallInfoCursor>; unsafe fn incr_ci(&self) -> VmErrorResult<CallInfoCursor>; unsafe fn check_c_stack(&self) -> VmErrorResult;
}
Expand description

Unstable stack and call-frame relocation capability.

§Safety

All pointers and cursors must belong to this thread’s current stack or call-info arrays. Saved offsets must originate from the matching array. Growth and reallocation invalidate outstanding cursors and record views.

Required Methods§

Source

unsafe fn check_stack_internal(&self, needed: i32) -> VmErrorResult

Source

unsafe fn check_stack_for_new_ci(&self, needed: i32) -> VmErrorResult

Source

unsafe fn get_grown_stack_size(&self, needed: i32) -> i32

Source

unsafe fn stack_limit_reached(&self, needed: i32) -> bool

Source

unsafe fn save_stack(&self, pointer: TValueCursor) -> isize

Source

unsafe fn restore_stack(&self, offset: isize) -> TValueCursor

Source

unsafe fn save_ci(&self, pointer: CallInfoCursor) -> isize

Source

unsafe fn restore_ci(&self, offset: isize) -> CallInfoCursor

Source

unsafe fn expand_stack_limit(&self, pointer: TValueCursor)

Source

unsafe fn realloc_stack(&self, new_size: i32, for_new_ci: bool) -> VmErrorResult

Source

unsafe fn realloc_ci(&self, new_size: i32) -> VmErrorResult

Source

unsafe fn grow_stack(&self, needed: i32) -> VmErrorResult

Source

unsafe fn grow_ci(&self) -> VmErrorResult<CallInfoCursor>

Source

unsafe fn incr_ci(&self) -> VmErrorResult<CallInfoCursor>

Source

unsafe fn check_c_stack(&self) -> VmErrorResult

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§