EcalHandler

Trait EcalHandler 

Source
pub trait EcalHandler: Clone
where Self: Sized,
{ const INC_PC: bool = true; // Required method fn ecal<M, S, Tx, V>( vm: &mut Interpreter<M, S, Tx, Self, V>, a: RegId, b: RegId, c: RegId, d: RegId, ) -> SimpleResult<()> where M: Memory; }
Expand description

ECAL opcode handler.

This can be cloned…

  • when the whole VM instance is cloned, for any reason
  • for each predicate when running predicates for a tx

Provided Associated Constants§

Source

const INC_PC: bool = true

Whether to increment PC after executing ECAL. If this is false, the handler must increment PC itself.

Required Methods§

Source

fn ecal<M, S, Tx, V>( vm: &mut Interpreter<M, S, Tx, Self, V>, a: RegId, b: RegId, c: RegId, d: RegId, ) -> SimpleResult<()>
where M: Memory,

ECAL opcode handler

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl EcalHandler for NotSupportedEcal

Default ECAL opcode handler function, which just errors immediately.