2015-12-30 12:46:10 +01:00
|
|
|
//! Evm factory.
|
2015-12-29 12:37:38 +01:00
|
|
|
|
|
|
|
use evm::Evm;
|
|
|
|
|
2016-01-11 02:42:02 +01:00
|
|
|
/// Evm factory. Creates appropriate Evm.
|
2015-12-29 12:37:38 +01:00
|
|
|
pub struct VmFactory;
|
|
|
|
|
|
|
|
impl VmFactory {
|
|
|
|
/// Returns jit vm
|
|
|
|
#[cfg(feature = "jit")]
|
|
|
|
pub fn create() -> Box<Evm> {
|
|
|
|
Box::new(super::jit::JitEvm)
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Returns native rust evm
|
|
|
|
#[cfg(not(feature = "jit"))]
|
|
|
|
pub fn create() -> Box<Evm> {
|
|
|
|
unimplemented!();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_create_vm() {
|
|
|
|
let _vm = VmFactory::create();
|
|
|
|
}
|