openvm_circuit/arch/
mod.rs

1mod config;
2/// Streams-like deferral state
3pub mod deferral;
4/// Instruction execution traits and types.
5/// Execution bus and interface.
6pub mod execution;
7/// Execution context types for different execution modes.
8pub mod execution_mode;
9mod extensions;
10/// Traits and wrappers to facilitate VM chip integration
11mod integration_api;
12/// [RecordArena] trait definitions and implementations. Currently there are two concrete
13/// implementations: [MatrixRecordArena] and [DenseRecordArena].
14mod record_arena;
15/// VM state definitions
16mod state;
17/// Top level [VmExecutor] and [VirtualMachine] constructor and API.
18pub mod vm;
19
20/// AOT execution
21#[cfg(feature = "aot")]
22pub mod aot;
23pub mod hasher;
24/// Interpreter for pure and metered VM execution
25pub mod interpreter;
26/// Interpreter for preflight VM execution, for trace generation purposes.
27pub mod interpreter_preflight;
28/// Testing framework
29#[cfg(any(test, feature = "test-utils"))]
30pub mod testing;
31
32#[cfg(feature = "aot")]
33pub use aot::AotInstance;
34pub use config::*;
35pub use execution::*;
36pub use execution_mode::{ExecutionCtxTrait, MeteredExecutionCtxTrait};
37pub use extensions::*;
38pub use integration_api::*;
39pub use interpreter::InterpretedInstance;
40pub use openvm_circuit_derive::create_handler;
41pub use openvm_instructions as instructions;
42pub use record_arena::*;
43pub use state::*;
44pub use vm::*;