#![allow(clippy::result_large_err)]
mod compiler;
pub mod context;
mod core;
pub mod error;
pub mod executor;
pub mod ffi;
pub(crate) mod ffi_refs;
mod ffi_symbols;
mod foreign_bridge;
pub mod jit_array;
pub mod jit_cache;
pub mod jit_matrix;
pub mod loop_analysis;
pub mod mixed_table;
pub mod mir_compiler;
mod numeric_compiler;
mod optimizer;
pub mod osr_compiler;
pub mod worker;
pub use context::*;
pub use error::JitError;
pub use executor::JITExecutor;
pub use ffi::jit_kinds::*;
pub use ffi::value_ffi::*;
pub use shape_ast as ast;
pub use shape_runtime as runtime;
pub use self::compiler::JITCompiler;
pub use self::compiler::JitParityEntry;
pub use self::compiler::JitParityTarget;
pub use self::compiler::JitPreflightReport;
pub use self::compiler::build_full_builtin_parity_matrix;
pub use self::compiler::build_full_opcode_parity_matrix;
pub use self::compiler::build_program_parity_matrix;
pub use self::compiler::can_jit_compile;
pub use self::compiler::get_incomplete_opcodes;
pub use self::compiler::get_unsupported_opcodes;
pub use self::compiler::preflight_blob_jit_compatibility;
pub use self::compiler::preflight_instructions;
pub use self::compiler::preflight_jit_compatibility;
pub use self::osr_compiler::{OsrCompilationResult, compile_osr_loop};
pub use self::worker::JitCompilationBackend;