openvm_circuit/arch/
mod.rs

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