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`.
6 pub const STACK_CHAIN_ABSENT_DISCRIMINANT: usize = 0;
7 /// Discriminant of variant `InitialStack` in
8 /// `wasmtime::runtime::vm::VMStackChain`.
9 pub const STACK_CHAIN_INITIAL_STACK_DISCRIMINANT: usize = 1;
10 /// Discriminant of variant `Continiation` in
11 /// `wasmtime::runtime::vm::VMStackChain`.
12 pub const STACK_CHAIN_CONTINUATION_DISCRIMINANT: usize = 2;
13 
14 /// Discriminant of variant `Fresh` in
15 /// `runtime::vm::VMStackState`.
16 pub const STACK_STATE_FRESH_DISCRIMINANT: u32 = 0;
17 /// Discriminant of variant `Running` in
18 /// `runtime::vm::VMStackState`.
19 pub const STACK_STATE_RUNNING_DISCRIMINANT: u32 = 1;
20 /// Discriminant of variant `Parent` in
21 /// `runtime::vm::VMStackState`.
22 pub const STACK_STATE_PARENT_DISCRIMINANT: u32 = 2;
23 /// Discriminant of variant `Suspended` in
24 /// `runtime::vm::VMStackState`.
25 pub const STACK_STATE_SUSPENDED_DISCRIMINANT: u32 = 3;
26 /// Discriminant of variant `Returned` in
27 /// `runtime::vm::VMStackState`.
28 pub const STACK_STATE_RETURNED_DISCRIMINANT: u32 = 4;
29 
30 /// Discriminant of variant `Return` in
31 /// `runtime::vm::ControlEffect`.
32 pub const CONTROL_EFFECT_RETURN_DISCRIMINANT: u32 = 0;
33 /// Discriminant of variant `Resume` in
34 /// `runtime::vm::ControlEffect`.
35 pub const CONTROL_EFFECT_RESUME_DISCRIMINANT: u32 = 1;
36 /// Discriminant of variant `Suspend` in
37 /// `runtime::vm::ControlEffect`.
38 pub const CONTROL_EFFECT_SUSPEND_DISCRIMINANT: u32 = 2;
39 /// Discriminant of variant `Switch` in
40 /// `runtime::vm::ControlEffect`.
41 pub const CONTROL_EFFECT_SWITCH_DISCRIMINANT: u32 = 3;
42