[Wasm] memcmp fix and test added (#7590)

* [Wasm] memcmp fix and test added

* [Wasm] use reqrep_test! macro for memcmp test
This commit is contained in:
Alexey
2018-01-17 12:13:17 +03:00
committed by Nikolay Volf
parent c7aed335ce
commit 534692cdae
3 changed files with 63 additions and 31 deletions

View File

@@ -577,16 +577,18 @@ impl<'a, 'b> Runtime<'a, 'b> {
//
let len = context.value_stack.pop_as::<i32>()? as u32;
let cx = context.value_stack.pop_as::<i32>()? as u32;
let ct = context.value_stack.pop_as::<i32>()? as u32;
let cx = context.value_stack.pop_as::<i32>()? as u32;
self.charge(|schedule| schedule.wasm.mem_cmp as u64 * len as u64)?;
let cx = self.memory.get(cx, len as usize)?;
let ct = self.memory.get(ct, len as usize)?;
let cx = self.memory.get(cx, len as usize)?;
let result = unsafe {
memcmp(cx.as_ptr() as *const c_void, ct.as_ptr() as *const c_void, len as usize)
};
Ok(Some(Into::into(result)))
}