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§
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
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".