This commit is contained in:
Brian Carroll 2022-11-25 15:46:02 +00:00
parent e8f78a9618
commit 65fc079393
No known key found for this signature in database
GPG key ID: 5C7B2EC4101703C0
2 changed files with 11 additions and 11 deletions

View file

@ -379,55 +379,55 @@ impl<'a> ExecutionState<'a> {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i32();
let mut target = &mut self.memory[addr..][..4];
target.write(&unwrapped.to_le_bytes()).unwrap();
target.write_all(&unwrapped.to_le_bytes()).unwrap();
}
I64STORE => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i64();
let mut target = &mut self.memory[addr..][..8];
target.write(&unwrapped.to_le_bytes()).unwrap();
target.write_all(&unwrapped.to_le_bytes()).unwrap();
}
F32STORE => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_f32();
let mut target = &mut self.memory[addr..][..4];
target.write(&unwrapped.to_le_bytes()).unwrap();
target.write_all(&unwrapped.to_le_bytes()).unwrap();
}
F64STORE => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_f64();
let mut target = &mut self.memory[addr..][..8];
target.write(&unwrapped.to_le_bytes()).unwrap();
target.write_all(&unwrapped.to_le_bytes()).unwrap();
}
I32STORE8 => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i32();
let mut target = &mut self.memory[addr..][..1];
target.write(&unwrapped.to_le_bytes()[..1]).unwrap();
target.write_all(&unwrapped.to_le_bytes()[..1]).unwrap();
}
I32STORE16 => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i32();
let mut target = &mut self.memory[addr..][..2];
target.write(&unwrapped.to_le_bytes()[..2]).unwrap();
target.write_all(&unwrapped.to_le_bytes()[..2]).unwrap();
}
I64STORE8 => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i64();
let mut target = &mut self.memory[addr..][..1];
target.write(&unwrapped.to_le_bytes()[..1]).unwrap();
target.write_all(&unwrapped.to_le_bytes()[..1]).unwrap();
}
I64STORE16 => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i64();
let mut target = &mut self.memory[addr..][..2];
target.write(&unwrapped.to_le_bytes()[..2]).unwrap();
target.write_all(&unwrapped.to_le_bytes()[..2]).unwrap();
}
I64STORE32 => {
let (addr, value) = self.get_store_addr_value(module);
let unwrapped = value.unwrap_i64();
let mut target = &mut self.memory[addr..][..4];
target.write(&unwrapped.to_le_bytes()[..4]).unwrap();
target.write_all(&unwrapped.to_le_bytes()[..4]).unwrap();
}
CURRENTMEMORY => {
let size = self.memory.len() as i32 / MemorySection::PAGE_SIZE as i32;

View file

@ -248,7 +248,7 @@ fn create_exported_function_no_locals<'a, F>(
signature: Signature<'a>,
write_instructions: F,
) where
F: FnOnce(&mut Vec<'a, u8>) -> (),
F: FnOnce(&mut Vec<'a, u8>),
{
let internal_fn_index = module.code.function_offsets.len();
let fn_index = module.import.function_count() + internal_fn_index;
@ -283,7 +283,7 @@ fn test_load(load_op: OpCode, ty: ValueType, data: &[u8], addr: u32, offset: u32
mode: DataMode::Active {
offset: ConstExpr::I32(addr as i32),
},
init: Vec::from_iter_in(data.iter().map(|x| *x), &arena),
init: Vec::from_iter_in(data.iter().copied(), &arena),
});
let signature = Signature {