Module execution

Module execution 

Source
Expand description

Instruction execution traits and types. Execution bus and interface.

Structs§

E2PreCompute
Wrapper type for metered pre-computed data, which is always an AIR index together with the pre-computed data for pure execution.
ExecutionBridge
ExecutionBridgeInteractor
ExecutionBus
ExecutionState
VmStateMut
Global VM state accessible during instruction execution. The state is generic in guest memory MEM and additional record arena RA. The host state is execution context specific.

Enums§

ExecutionError
PcIncOrSet
StaticProgramError
Errors in the program that can be statically analyzed before runtime.

Traits§

Executor
Trait for pure execution via a host interpreter. The trait methods provide the methods to pre-process the program code into function pointers which operate on pre_compute instruction data.
MeteredExecutor
Trait for metered execution via a host interpreter. The trait methods provide the methods to pre-process the program code into function pointers which operate on pre_compute instruction data which contains auxiliary data (e.g., corresponding AIR ID) for metering purposes.
PhantomSubExecutor
Phantom sub-instructions affect the runtime of the VM and the trace matrix values. However they all have no AIR constraints besides advancing the pc by DEFAULT_PC_STEP.
PreflightExecutor
Trait for preflight execution via a host interpreter. The trait methods allow execution of instructions via enum dispatch within an interpreter. This execution is specialized to record “records” of execution which will be ingested later for trace matrix generation. The records are stored in a record arena, which is provided in the VmStateMut argument.

Type Aliases§

ExecuteFunc
Function pointer for interpreter execution with function signature (pre_compute, exec_state). The pre_compute: &[u8] is a pre-computed buffer of data corresponding to a single instruction. The contents of pre_compute are determined from the program code as specified by the Executor and MeteredExecutor traits.