2019-11-20 01:48:20 +08:00
#![ deny(
2019-08-01 20:46:35 -06:00
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-11-20 01:48:20 +08:00
) ]
2019-02-12 00:52:01 +08:00
#![ feature(proc_macro_hygiene) ]
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-08 23:56:14 +08:00
2019-03-17 10:27:14 +08:00
#[ cfg(not(any(
2019-11-24 20:08:54 +01:00
all ( target_os = " freebsd " , target_arch = " x86_64 " ) ,
all ( target_os = " freebsd " , target_arch = " aarch64 " ) ,
2019-03-17 10:27:14 +08:00
all ( target_os = " macos " , target_arch = " x86_64 " ) ,
all ( target_os = " linux " , target_arch = " x86_64 " ) ,
2019-09-07 01:31:16 +08:00
all ( target_os = " linux " , target_arch = " aarch64 " ) ,
2019-03-17 10:27:14 +08:00
) ) ) ]
2019-11-24 20:08:54 +01:00
compile_error! ( " This crate doesn't yet support compiling on operating systems other than FreeBSD, linux and macos and architectures other than x86_64 " ) ;
2019-03-17 10:27:14 +08:00
2019-02-12 00:52:01 +08:00
extern crate dynasmrt ;
2019-02-08 23:56:14 +08:00
2019-11-28 02:49:52 +08:00
extern crate serde ;
#[ macro_use ]
extern crate serde_derive ;
2019-02-12 00:52:01 +08:00
#[ macro_use ]
extern crate dynasm ;
2019-02-08 23:56:14 +08:00
2019-02-24 00:52:32 +08:00
#[ macro_use ]
extern crate lazy_static ;
extern crate byteorder ;
2019-04-11 09:31:54 +08:00
#[ macro_use ]
extern crate smallvec ;
2019-02-24 00:52:32 +08:00
2019-02-12 00:52:01 +08:00
mod codegen_x64 ;
2019-03-27 00:23:10 +08:00
mod emitter_x64 ;
2019-03-28 10:17:06 +08:00
mod machine ;
2019-11-20 01:48:20 +08:00
#[ cfg(target_arch = " aarch64 " ) ]
2019-09-15 17:57:40 +08:00
mod translator_aarch64 ;
2019-02-14 00:53:36 +08:00
2019-04-27 12:31:04 +08:00
pub use codegen_x64 ::X64FunctionCode as FunctionCodeGenerator ;
2019-04-27 16:31:47 +08:00
pub use codegen_x64 ::X64ModuleCodeGenerator as ModuleCodeGenerator ;
2019-02-14 00:53:36 +08:00
2019-04-27 12:31:04 +08:00
use wasmer_runtime_core ::codegen ::SimpleStreamingCompilerGen ;
pub type SinglePassCompiler = SimpleStreamingCompilerGen <
codegen_x64 ::X64ModuleCodeGenerator ,
codegen_x64 ::X64FunctionCode ,
codegen_x64 ::X64ExecutionContext ,
codegen_x64 ::CodegenError ,
2019-04-27 16:31:47 +08:00
> ;