Fix more spectests

This commit is contained in:
Lachlan Sneff
2019-01-09 21:14:35 -05:00
parent 985e2b2f42
commit 0c6f76a8ef
5 changed files with 1419 additions and 1417 deletions

View File

@ -648,10 +648,10 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
call_conv: self.module.config.default_call_conv, call_conv: self.module.config.default_call_conv,
// Paramters types. // Paramters types.
params: vec![ params: vec![
// Param for new size.
AbiParam::new(I32),
// Param for memory index. // Param for memory index.
AbiParam::new(I32), AbiParam::new(I32),
// Param for new size.
AbiParam::new(I32),
// Param for VMcontext. // Param for VMcontext.
AbiParam::special(self.pointer_type(), ArgumentPurpose::VMContext), AbiParam::special(self.pointer_type(), ArgumentPurpose::VMContext),
], ],
@ -677,7 +677,7 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
.expect("missing vmctx parameter"); .expect("missing vmctx parameter");
// Insert call instructions for `grow_memory`. // Insert call instructions for `grow_memory`.
let call_inst = pos.ins().call(grow_mem_func, &[val, memory_index, vmctx]); let call_inst = pos.ins().call(grow_mem_func, &[memory_index, val, vmctx]);
// Return value. // Return value.
Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap()) Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap())
@ -721,13 +721,13 @@ impl<'environment> FuncEnvironmentTrait for FuncEnvironment<'environment> {
}); });
// Create a memory index value. // Create a memory index value.
let memory_index_value = pos.ins().iconst(I32, to_imm64(index.index())); let memory_index = pos.ins().iconst(I32, to_imm64(index.index()));
// Create a VMContext value. // Create a VMContext value.
let vmctx = pos.func.special_param(ArgumentPurpose::VMContext).unwrap(); let vmctx = pos.func.special_param(ArgumentPurpose::VMContext).unwrap();
// Insert call instructions for `current_memory`. // Insert call instructions for `current_memory`.
let call_inst = pos.ins().call(cur_mem_func, &[memory_index_value, vmctx]); let call_inst = pos.ins().call(cur_mem_func, &[memory_index, vmctx]);
// Return value. // Return value.
Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap()) Ok(*pos.func.dfg.inst_results(call_inst).first().unwrap())

View File

@ -36,7 +36,7 @@ const TESTS: &[&str] = &[
"spectests/f64_bitwise.wast", "spectests/f64_bitwise.wast",
"spectests/f64_cmp.wast", "spectests/f64_cmp.wast",
"spectests/fac.wast", "spectests/fac.wast",
// "spectests/float_exprs.wast", "spectests/float_exprs.wast",
"spectests/float_literals.wast", "spectests/float_literals.wast",
"spectests/float_memory.wast", "spectests/float_memory.wast",
"spectests/float_misc.wast", "spectests/float_misc.wast",

View File

@ -53,7 +53,7 @@ impl LinearMemory {
debug!("Instantiate LinearMemory(mem: {:?})", mem); debug!("Instantiate LinearMemory(mem: {:?})", mem);
let (mmap_size, initial_pages, offset_guard_size, requires_signal_catch) = let (mmap_size, initial_pages, offset_guard_size, requires_signal_catch) =
if mem.is_static_heap() { if /*mem.is_static_heap()*/ true {
(Self::DEFAULT_SIZE, mem.min, Self::DEFAULT_GUARD_SIZE, true) (Self::DEFAULT_SIZE, mem.min, Self::DEFAULT_GUARD_SIZE, true)
// This is a static heap // This is a static heap
} else { } else {
@ -170,8 +170,8 @@ impl LinearMemory {
} }
pub(crate) fn grow_static(&mut self, add_pages: u32) -> Option<i32> { pub(crate) fn grow_static(&mut self, add_pages: u32) -> Option<i32> {
debug!("grow_memory_static called!"); // debug!("grow_memory_static called!");
assert!(self.max.is_some()); // assert!(self.max.is_some());
if add_pages == 0 { if add_pages == 0 {
return Some(self.current as _); return Some(self.current as _);
} }

File diff suppressed because it is too large Load Diff

View File

@ -36,6 +36,8 @@ mod f64_bitwise;
#[cfg(not(feature = "fast-tests"))] #[cfg(not(feature = "fast-tests"))]
mod f64_cmp; mod f64_cmp;
mod fac; mod fac;
#[cfg(not(feature = "fast-tests"))]
mod float_exprs;
mod float_literals; mod float_literals;
mod float_memory; mod float_memory;
#[cfg(not(feature = "fast-tests"))] #[cfg(not(feature = "fast-tests"))]