pub trait VmExtension<F: PrimeField32> {
type Executor: InstructionExecutor<F> + AnyEnum;
type Periphery: AnyEnum;
// Required method
fn build(
&self,
builder: &mut VmInventoryBuilder<'_, F>,
) -> Result<VmInventory<Self::Executor, Self::Periphery>, VmInventoryError>;
}
Expand description
Configuration for a processor extension.
There are two associated types:
Executor
: enum for chips that areInstructionExecutor
s.
Required Associated Types§
Sourcetype Executor: InstructionExecutor<F> + AnyEnum
type Executor: InstructionExecutor<F> + AnyEnum
Enum of chips that implement InstructionExecutor
for instruction execution.
Executor
must implement Chip<SC>
but the trait bound is omitted to omit the
StarkGenericConfig
generic parameter.
Sourcetype Periphery: AnyEnum
type Periphery: AnyEnum
Enum of periphery chips that do not implement InstructionExecutor
.
Periphery
must implement Chip<SC>
but the trait bound is omitted to omit the
StarkGenericConfig
generic parameter.