Enum ckb_vm::instructions::ast::Value
source · pub enum Value {
Imm(u64),
Register(usize),
Op1(ActionOp1, Rc<Value>),
Op2(ActionOp2, Rc<Value>, Rc<Value>),
SignOp2(SignActionOp2, Rc<Value>, Rc<Value>, bool),
Cond(Rc<Value>, Rc<Value>, Rc<Value>),
Load(Rc<Value>, u8),
}
Variants§
Imm(u64)
Register(usize)
Op1(ActionOp1, Rc<Value>)
Op2(ActionOp2, Rc<Value>, Rc<Value>)
SignOp2(SignActionOp2, Rc<Value>, Rc<Value>, bool)
Cond(Rc<Value>, Rc<Value>, Rc<Value>)
Load(Rc<Value>, u8)
Trait Implementations§
source§impl Register for Value
impl Register for Value
const BITS: u8 = 64u8
const SHIFT_MASK: u8 = 63u8
fn zero() -> Value
fn one() -> Value
fn min_value() -> Value
fn max_value() -> Value
fn eq(&self, other: &Value) -> Value
fn lt(&self, other: &Value) -> Value
fn lt_s(&self, other: &Value) -> Value
fn logical_not(&self) -> Value
fn cond(&self, true_value: &Value, false_value: &Value) -> Value
fn overflowing_add(&self, rhs: &Value) -> Value
fn overflowing_sub(&self, rhs: &Value) -> Value
fn overflowing_mul(&self, rhs: &Value) -> Value
fn overflowing_div(&self, rhs: &Value) -> Value
fn overflowing_rem(&self, rhs: &Value) -> Value
fn overflowing_div_signed(&self, rhs: &Value) -> Value
fn overflowing_rem_signed(&self, rhs: &Value) -> Value
fn overflowing_mul_high_signed(&self, rhs: &Value) -> Value
fn overflowing_mul_high_unsigned(&self, rhs: &Value) -> Value
fn overflowing_mul_high_signed_unsigned(&self, rhs: &Value) -> Value
fn clz(&self) -> Value
fn ctz(&self) -> Value
fn cpop(&self) -> Value
fn clmul(&self, rhs: &Value) -> Value
fn clmulh(&self, rhs: &Value) -> Value
fn clmulr(&self, rhs: &Value) -> Value
fn orcb(&self) -> Self
fn rev8(&self) -> Self
fn rol(&self, rhs: &Value) -> Value
fn ror(&self, rhs: &Value) -> Value
fn signed_shl(&self, rhs: &Value) -> Value
fn signed_shr(&self, rhs: &Value) -> Value
fn zero_extend(&self, start_bit: &Value) -> Value
fn sign_extend(&self, start_bit: &Value) -> Value
fn to_i8(&self) -> i8
fn to_i16(&self) -> i16
fn to_i32(&self) -> i32
fn to_i64(&self) -> i64
fn to_u8(&self) -> u8
fn to_u16(&self) -> u16
fn to_u32(&self) -> u32
fn to_u64(&self) -> u64
fn from_i8(v: i8) -> Value
fn from_i16(v: i16) -> Value
fn from_i32(v: i32) -> Value
fn from_i64(v: i64) -> Value
fn from_u8(v: u8) -> Value
fn from_u16(v: u16) -> Value
fn from_u32(v: u32) -> Value
fn from_u64(v: u64) -> Value
fn ne(&self, rhs: &Self) -> Self
fn ge(&self, other: &Self) -> Self
fn ge_s(&self, other: &Self) -> Self
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl !Send for Value
impl !Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
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