2019-08-01 20:46:35 -06:00
|
|
|
#![deny(
|
|
|
|
dead_code,
|
2019-08-15 20:18:29 -06:00
|
|
|
nonstandard_style,
|
2019-08-01 20:46:35 -06:00
|
|
|
unused_imports,
|
2019-08-15 20:18:29 -06:00
|
|
|
unused_mut,
|
2019-08-01 20:46:35 -06:00
|
|
|
unused_variables,
|
|
|
|
unused_unsafe,
|
|
|
|
unreachable_patterns
|
|
|
|
)]
|
2019-09-03 17:06:31 -07:00
|
|
|
#![doc(html_favicon_url = "https://wasmer.io/static/icons/favicon.ico")]
|
|
|
|
#![doc(html_logo_url = "https://avatars3.githubusercontent.com/u/44205449?s=200&v=4")]
|
|
|
|
|
2019-02-06 16:26:45 -08:00
|
|
|
mod cache;
|
2019-05-12 11:05:26 -05:00
|
|
|
mod code;
|
2019-01-08 16:04:03 -05:00
|
|
|
mod libcalls;
|
2019-01-16 17:59:12 -08:00
|
|
|
mod module;
|
2019-01-08 16:04:03 -05:00
|
|
|
mod relocation;
|
|
|
|
mod resolver;
|
2019-02-07 17:08:42 -08:00
|
|
|
mod signal;
|
2019-01-22 15:00:27 -08:00
|
|
|
mod trampoline;
|
2019-01-08 16:04:03 -05:00
|
|
|
|
2019-01-08 21:57:28 -05:00
|
|
|
use cranelift_codegen::{
|
|
|
|
isa,
|
|
|
|
settings::{self, Configurable},
|
|
|
|
};
|
2019-01-08 16:04:03 -05:00
|
|
|
use target_lexicon::Triple;
|
2019-02-19 15:36:22 -08:00
|
|
|
|
2019-02-06 16:26:45 -08:00
|
|
|
#[macro_use]
|
|
|
|
extern crate serde_derive;
|
2019-02-19 15:36:22 -08:00
|
|
|
|
2019-02-25 12:03:48 -08:00
|
|
|
extern crate rayon;
|
2019-02-06 16:26:45 -08:00
|
|
|
extern crate serde;
|
|
|
|
|
2019-08-08 16:46:52 -06:00
|
|
|
fn get_isa() -> Box<dyn isa::TargetIsa> {
|
2019-01-08 16:04:03 -05:00
|
|
|
let flags = {
|
|
|
|
let mut builder = settings::builder();
|
2019-09-21 13:06:54 -05:00
|
|
|
builder.set("opt_level", "speed_and_size").unwrap();
|
2019-07-02 09:55:46 -07:00
|
|
|
builder.set("jump_tables_enabled", "false").unwrap();
|
2019-01-08 16:04:03 -05:00
|
|
|
|
|
|
|
if cfg!(not(test)) {
|
|
|
|
builder.set("enable_verifier", "false").unwrap();
|
|
|
|
}
|
|
|
|
|
|
|
|
let flags = settings::Flags::new(builder);
|
2019-09-21 13:06:54 -05:00
|
|
|
debug_assert_eq!(flags.opt_level(), settings::OptLevel::SpeedAndSize);
|
2019-01-08 16:04:03 -05:00
|
|
|
flags
|
|
|
|
};
|
|
|
|
isa::lookup(Triple::host()).unwrap().finish(flags)
|
|
|
|
}
|
|
|
|
|
2019-01-22 15:26:56 -08:00
|
|
|
/// The current version of this crate
|
|
|
|
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
|
2019-05-12 11:05:26 -05:00
|
|
|
|
|
|
|
use wasmer_runtime_core::codegen::SimpleStreamingCompilerGen;
|
|
|
|
|
|
|
|
pub type CraneliftCompiler = SimpleStreamingCompilerGen<
|
|
|
|
code::CraneliftModuleCodeGenerator,
|
|
|
|
code::CraneliftFunctionCodeGenerator,
|
|
|
|
signal::Caller,
|
|
|
|
code::CodegenError,
|
|
|
|
>;
|