Struct miden_air::ExecutionOptions

source ·
pub struct ExecutionOptions { /* private fields */ }
Expand description

A set of parameters specifying execution parameters of the VM.

  • max_cycles specifies the maximum number of cycles a program is allowed to execute.
  • expected_cycles specifies the number of cycles a program is expected to execute.

Implementations§

source§

impl ExecutionOptions

source

pub fn new( max_cycles: Option<u32>, expected_cycles: u32, enable_tracing: bool ) -> Result<Self, ExecutionOptionsError>

Creates a new instance of ExecutionOptions from the specified parameters.

If the max_cycles is None the maximum number of cycles will be set to u32::MAX

source

pub fn with_tracing(self) -> Self

Enables execution of the trace instructions.

source

pub fn with_debugging(self) -> Self

Enables execution of programs in debug mode.

In debug mode the VM does the following:

  • Executes debug instructions (these are ignored in regular mode).
  • Records additional info about program execution (e.g., keeps track of stack state at every cycle of the VM) which enables stepping through the program forward and backward.
source

pub fn max_cycles(&self) -> u32

Returns maximum number of cycles a program is allowed to execute for.

source

pub fn expected_cycles(&self) -> u32

Returns the number of cycles a program is expected to take.

This will serve as a hint to the VM for how much memory to allocate for a program’s execution trace and may result in performance improvements when the number of expected cycles is equal to the number of actual cycles.

source

pub fn enable_tracing(&self) -> bool

Returns a flag indicating whether the VM should execute trace instructions.

source

pub fn enable_debugging(&self) -> bool

Returns a flag indicating whether the VM should execute a program in debug mode.

Trait Implementations§

source§

impl Clone for ExecutionOptions

source§

fn clone(&self) -> ExecutionOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ExecutionOptions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ExecutionOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl PartialEq for ExecutionOptions

source§

fn eq(&self, other: &ExecutionOptions) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ExecutionOptions

source§

impl Eq for ExecutionOptions

source§

impl StructuralPartialEq for ExecutionOptions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more