pub enum WasiInstruction {
Show 63 variants
Nop,
Unreachable,
Block {
block_type: Option<WasmValueType>,
},
Loop {
block_type: Option<WasmValueType>,
},
If {
block_type: Option<WasmValueType>,
},
Else,
End,
Br {
label_index: u32,
},
BrIf {
label_index: u32,
},
Return,
Call {
function_index: u32,
},
Drop,
Select,
LocalGet {
local_index: u32,
},
LocalSet {
local_index: u32,
},
I32Load {
offset: u32,
align: u32,
},
I64Load {
offset: u32,
align: u32,
},
F32Load {
offset: u32,
align: u32,
},
F64Load {
offset: u32,
align: u32,
},
I32Store {
offset: u32,
align: u32,
},
I64Store {
offset: u32,
align: u32,
},
F32Store {
offset: u32,
align: u32,
},
F64Store {
offset: u32,
align: u32,
},
StructNew {
type_index: u32,
},
StructGet {
type_index: u32,
field_index: u32,
},
StructSet {
type_index: u32,
field_index: u32,
},
I32Const {
value: i32,
},
I64Const {
value: i64,
},
F32Const {
value: f32,
},
F64Const {
value: f64,
},
I32Add,
I32Sub,
I32Mul,
I32DivS,
I32DivU,
I32RemS,
I32RemU,
I32And,
I32Or,
I32Xor,
I32Shl,
I32ShrS,
I32ShrU,
I32Rotl,
I32Rotr,
I32Eqz,
I32Eq,
I32Ne,
I32LtS,
I32LtU,
I32GtS,
I32GtU,
I32LeS,
I32LeU,
I32GeS,
I32GeU,
TaskBackpressure,
TaskReturn,
TaskWait,
TaskPoll,
TaskYield,
ErrorContextNew,
ErrorContextDebugMessage,
}Expand description
WASM 指令
Variants§
Nop
无操作
Unreachable
不可达
Block
块开始
Fields
§
block_type: Option<WasmValueType>Loop
循环开始
Fields
§
block_type: Option<WasmValueType>If
条件分支
Fields
§
block_type: Option<WasmValueType>Else
Else 分支
End
块结束
Br
分支
BrIf
条件分支
Return
返回
Call
函数调用
Drop
丢弃栈顶值
Select
选择
LocalGet
加载局部变量
LocalSet
设置局部变量
I32Load
加载内存
I64Load
F32Load
F64Load
I32Store
存储内存
I64Store
F32Store
F64Store
StructNew
结构体操作 (GC Proposal)
StructGet
StructSet
I32Const
加载常量
I64Const
F32Const
F64Const
I32Add
算术运算
I32Sub
I32Mul
I32DivS
I32DivU
I32RemS
I32RemU
I32And
I32Or
I32Xor
I32Shl
I32ShrS
I32ShrU
I32Rotl
I32Rotr
I32Eqz
比较运算
I32Eq
I32Ne
I32LtS
I32LtU
I32GtS
I32GtU
I32LeS
I32LeU
I32GeS
I32GeU
TaskBackpressure
异步任务指令 (WASIp3)
TaskReturn
TaskWait
TaskPoll
TaskYield
ErrorContextNew
错误上下文指令 (WASIp3)
ErrorContextDebugMessage
Trait Implementations§
Source§impl Clone for WasiInstruction
impl Clone for WasiInstruction
Source§fn clone(&self) -> WasiInstruction
fn clone(&self) -> WasiInstruction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WasiInstruction
impl Debug for WasiInstruction
impl Copy for WasiInstruction
Auto Trait Implementations§
impl Freeze for WasiInstruction
impl RefUnwindSafe for WasiInstruction
impl Send for WasiInstruction
impl Sync for WasiInstruction
impl Unpin for WasiInstruction
impl UnsafeUnpin for WasiInstruction
impl UnwindSafe for WasiInstruction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more