wasm_interp: fix call_indirect immediates order

This commit is contained in:
Brian Carroll 2022-12-05 20:02:41 +00:00
parent 6d43763ab7
commit ad2973cd8d
No known key found for this signature in database
GPG Key ID: 5C7B2EC4101703C0
2 changed files with 2 additions and 2 deletions

View File

@ -541,8 +541,8 @@ impl<'a, I: ImportDispatcher> Instance<'a, I> {
self.do_call(None, fn_index, module);
}
CALLINDIRECT => {
let table_index = self.fetch_immediate_u32(module);
let expected_signature = self.fetch_immediate_u32(module);
let table_index = self.fetch_immediate_u32(module);
let element_index = self.value_stack.pop_u32()?;
// So far, all compilers seem to be emitting MVP-compatible code. (Rust, Zig, Roc...)

View File

@ -709,8 +709,8 @@ fn test_call_indirect_help(table_index: u32, elem_index: u32) -> Value {
buf.append_u8(OpCode::I32CONST as u8);
buf.encode_u32(elem_index);
buf.append_u8(OpCode::CALLINDIRECT as u8);
buf.encode_u32(table_index);
buf.encode_u32(0); // signature index
buf.encode_u32(table_index);
buf.append_u8(OpCode::END as u8);
});