Expand description
Instruction execution traits and types. Execution bus and interface.
Structs§
- E2Pre
Compute - Wrapper type for metered pre-computed data, which is always an AIR index together with the pre-computed data for pure execution.
- Execution
Bridge - Execution
Bridge Interactor - Execution
Bus - Execution
State - VmState
Mut - Global VM state accessible during instruction execution.
The state is generic in guest memory
MEM
and additional record arenaRA
. The host state is execution context specific.
Enums§
- Execution
Error - PcInc
OrSet - Static
Program Error - 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. - Metered
Executor - 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. - Phantom
SubExecutor - 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.
- Preflight
Executor - 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§
- Execute
Func - Function pointer for interpreter execution with function signature
(pre_compute, exec_state)
. Thepre_compute: &[u8]
is a pre-computed buffer of data corresponding to a single instruction. The contents ofpre_compute
are determined from the program code as specified by the Executor and MeteredExecutor traits.