2025-08-13 05:59:10 +00:00
|
|
|
/*!
|
|
|
|
|
* Backend module - Different execution backends for MIR
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
pub mod vm;
|
2025-08-18 23:36:40 +09:00
|
|
|
pub mod vm_phi;
|
2025-08-25 15:50:49 +09:00
|
|
|
pub mod vm_instructions;
|
2025-08-26 00:48:09 +09:00
|
|
|
pub mod vm_values;
|
|
|
|
|
pub mod vm_boxcall;
|
2025-08-26 00:58:57 +09:00
|
|
|
pub mod vm_stats;
|
2025-08-26 04:34:14 +09:00
|
|
|
// Phase 9.78h: VM split scaffolding (control_flow/dispatch/frame)
|
|
|
|
|
pub mod control_flow;
|
|
|
|
|
pub mod dispatch;
|
|
|
|
|
pub mod frame;
|
2025-08-27 17:06:46 +09:00
|
|
|
pub mod gc_helpers;
|
2025-09-04 03:41:02 +09:00
|
|
|
pub mod vm_control_flow;
|
|
|
|
|
mod vm_gc; // A3: GC roots & diagnostics extracted
|
|
|
|
|
mod vm_exec; // A3: execution loop extracted
|
|
|
|
|
mod vm_state; // A3: state & basic helpers extracted
|
2025-09-01 23:44:34 +09:00
|
|
|
pub mod abi_util; // Shared ABI/utility helpers
|
|
|
|
|
pub mod mir_interpreter; // Lightweight MIR interpreter
|
2025-08-19 16:56:44 +09:00
|
|
|
|
|
|
|
|
#[cfg(feature = "wasm-backend")]
|
2025-08-13 13:05:49 +00:00
|
|
|
pub mod wasm;
|
2025-08-19 16:56:44 +09:00
|
|
|
#[cfg(feature = "wasm-backend")]
|
2025-08-14 04:38:20 +00:00
|
|
|
pub mod aot;
|
2025-09-03 05:41:33 +09:00
|
|
|
#[cfg(feature = "wasm-backend")]
|
|
|
|
|
pub mod wasm_v2;
|
2025-08-13 05:59:10 +00:00
|
|
|
|
2025-08-18 09:14:39 +00:00
|
|
|
#[cfg(feature = "llvm")]
|
|
|
|
|
pub mod llvm;
|
2025-09-01 23:44:34 +09:00
|
|
|
#[cfg(feature = "cranelift-jit")]
|
|
|
|
|
pub mod cranelift;
|
2025-08-18 09:14:39 +00:00
|
|
|
|
2025-08-13 13:05:49 +00:00
|
|
|
pub use vm::{VM, VMError, VMValue};
|
2025-09-01 23:44:34 +09:00
|
|
|
pub use mir_interpreter::MirInterpreter;
|
2025-08-19 16:56:44 +09:00
|
|
|
|
|
|
|
|
#[cfg(feature = "wasm-backend")]
|
2025-08-14 04:38:20 +00:00
|
|
|
pub use wasm::{WasmBackend, WasmError};
|
2025-08-19 16:56:44 +09:00
|
|
|
#[cfg(feature = "wasm-backend")]
|
2025-08-18 09:14:39 +00:00
|
|
|
pub use aot::{AotBackend, AotError, AotConfig, AotStats};
|
|
|
|
|
|
|
|
|
|
#[cfg(feature = "llvm")]
|
2025-08-26 00:48:09 +09:00
|
|
|
pub use llvm::{compile_and_execute as llvm_compile_and_execute, compile_to_object as llvm_compile_to_object};
|
2025-09-01 23:44:34 +09:00
|
|
|
#[cfg(feature = "cranelift-jit")]
|
|
|
|
|
pub use cranelift::{compile_and_execute as cranelift_compile_and_execute, compile_to_object as cranelift_compile_to_object};
|