Update to Cranelift 0.24.
This commit is contained in:
@@ -34,7 +34,9 @@
|
||||
)]
|
||||
|
||||
extern crate cranelift_codegen;
|
||||
extern crate cranelift_entity;
|
||||
extern crate cranelift_native;
|
||||
extern crate cranelift_wasm;
|
||||
extern crate docopt;
|
||||
extern crate wasmtime_environ;
|
||||
extern crate wasmtime_execute;
|
||||
@@ -45,6 +47,8 @@ extern crate tempdir;
|
||||
use cranelift_codegen::isa::TargetIsa;
|
||||
use cranelift_codegen::settings;
|
||||
use cranelift_codegen::settings::Configurable;
|
||||
use cranelift_entity::EntityRef;
|
||||
use cranelift_wasm::MemoryIndex;
|
||||
use docopt::Docopt;
|
||||
use std::error::Error;
|
||||
use std::fs::File;
|
||||
@@ -95,9 +99,10 @@ fn main() {
|
||||
.version(Some(String::from("0.0.0")))
|
||||
.deserialize()
|
||||
}).unwrap_or_else(|e| e.exit());
|
||||
let (mut flag_builder, isa_builder) = cranelift_native::builders().unwrap_or_else(|_| {
|
||||
let isa_builder = cranelift_native::builder().unwrap_or_else(|_| {
|
||||
panic!("host machine is not a supported target");
|
||||
});
|
||||
let mut flag_builder = settings::builder();
|
||||
|
||||
// Enable verifier passes in debug mode.
|
||||
if cfg!(debug_assertions) {
|
||||
@@ -183,7 +188,7 @@ fn handle_module(args: &Args, path: PathBuf, isa: &TargetIsa) -> Result<(), Stri
|
||||
break;
|
||||
}
|
||||
let memory = instance.inspect_memory(
|
||||
str::parse(split[0]).unwrap(),
|
||||
MemoryIndex::new(str::parse(split[0]).unwrap()),
|
||||
str::parse(split[1]).unwrap(),
|
||||
str::parse(split[2]).unwrap(),
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ extern crate faerie;
|
||||
extern crate target_lexicon;
|
||||
|
||||
use cranelift_codegen::isa;
|
||||
use cranelift_codegen::settings::{self, Configurable};
|
||||
use cranelift_codegen::settings;
|
||||
use docopt::Docopt;
|
||||
use faerie::Artifact;
|
||||
use std::error::Error;
|
||||
@@ -55,7 +55,7 @@ use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
use std::process;
|
||||
use std::str::FromStr;
|
||||
use target_lexicon::{OperatingSystem, Triple};
|
||||
use target_lexicon::Triple;
|
||||
use wasmtime_environ::{compile_module, Module, ModuleEnvironment};
|
||||
use wasmtime_obj::emit_module;
|
||||
|
||||
@@ -116,31 +116,21 @@ fn handle_module(path: PathBuf, target: &Option<String>, output: &str) -> Result
|
||||
}
|
||||
};
|
||||
|
||||
let (flag_builder, isa_builder) = match *target {
|
||||
let isa_builder = match *target {
|
||||
Some(ref target) => {
|
||||
let target = Triple::from_str(&target).map_err(|_| "could not parse --target")?;
|
||||
let mut flag_builder = settings::builder();
|
||||
match target.operating_system {
|
||||
OperatingSystem::Windows => {
|
||||
flag_builder.set("call_conv", "windows_fastcall").unwrap();
|
||||
}
|
||||
_ => {
|
||||
flag_builder.set("call_conv", "system_v").unwrap();
|
||||
}
|
||||
};
|
||||
|
||||
let isa_builder = isa::lookup(target).map_err(|err| match err {
|
||||
isa::lookup(target).map_err(|err| match err {
|
||||
isa::LookupError::SupportDisabled => {
|
||||
"support for architecture disabled at compile time"
|
||||
}
|
||||
isa::LookupError::Unsupported => "unsupported architecture",
|
||||
})?;
|
||||
(flag_builder, isa_builder)
|
||||
})?
|
||||
}
|
||||
None => cranelift_native::builders().unwrap_or_else(|_| {
|
||||
None => cranelift_native::builder().unwrap_or_else(|_| {
|
||||
panic!("host machine is not a supported target");
|
||||
}),
|
||||
};
|
||||
let flag_builder = settings::builder();
|
||||
let isa = isa_builder.finish(settings::Flags::new(flag_builder));
|
||||
|
||||
let mut obj = Artifact::new(isa.triple().clone(), String::from(output));
|
||||
|
||||
Reference in New Issue
Block a user