Skip to main content

wasmtime_environ/
stack_switching.rs

1//! This module contains basic type definitions used by the implementation of
2//! the stack switching proposal.
3
4/// Discriminant of variant `Absent` in
5/// `wasmtime::runtime::vm::VMStackChain`.
6pub const STACK_CHAIN_ABSENT_DISCRIMINANT: usize = 0;
7/// Discriminant of variant `InitialStack` in
8/// `wasmtime::runtime::vm::VMStackChain`.
9pub const STACK_CHAIN_INITIAL_STACK_DISCRIMINANT: usize = 1;
10/// Discriminant of variant `Continiation` in
11/// `wasmtime::runtime::vm::VMStackChain`.
12pub const STACK_CHAIN_CONTINUATION_DISCRIMINANT: usize = 2;
13
14/// Discriminant of variant `Fresh` in
15/// `runtime::vm::VMStackState`.
16pub const STACK_STATE_FRESH_DISCRIMINANT: u32 = 0;
17/// Discriminant of variant `Running` in
18/// `runtime::vm::VMStackState`.
19pub const STACK_STATE_RUNNING_DISCRIMINANT: u32 = 1;
20/// Discriminant of variant `Parent` in
21/// `runtime::vm::VMStackState`.
22pub const STACK_STATE_PARENT_DISCRIMINANT: u32 = 2;
23/// Discriminant of variant `Suspended` in
24/// `runtime::vm::VMStackState`.
25pub const STACK_STATE_SUSPENDED_DISCRIMINANT: u32 = 3;
26/// Discriminant of variant `Returned` in
27/// `runtime::vm::VMStackState`.
28pub const STACK_STATE_RETURNED_DISCRIMINANT: u32 = 4;
29/// Discriminant of variant `Trapped` in
30/// `runtime::vm::VMStackState`.
31pub const STACK_STATE_TRAPPED_DISCRIMINANT: u32 = 5;
32
33/// Discriminant of variant `Return` in
34/// `runtime::vm::ControlEffect`.
35pub const CONTROL_EFFECT_RETURN_DISCRIMINANT: u32 = 0;
36/// Discriminant of variant `Resume` in
37/// `runtime::vm::ControlEffect`.
38pub const CONTROL_EFFECT_RESUME_DISCRIMINANT: u32 = 1;
39/// Discriminant of variant `Suspend` in
40/// `runtime::vm::ControlEffect`.
41pub const CONTROL_EFFECT_SUSPEND_DISCRIMINANT: u32 = 2;
42/// Discriminant of variant `Switch` in
43/// `runtime::vm::ControlEffect`.
44pub const CONTROL_EFFECT_SWITCH_DISCRIMINANT: u32 = 3;
45/// Discriminant of variant `Trap` in
46/// `runtime::vm::ControlEffect`.
47pub const CONTROL_EFFECT_TRAP_DISCRIMINANT: u32 = 4;
48/// Discriminant used to resume a suspended continuation by throwing an
49/// exception at its suspension point.
50pub const CONTROL_EFFECT_RESUME_THROW_DISCRIMINANT: u32 = 5;