From 1a97fa744e9f3536b437e484270de327c3b278fc Mon Sep 17 00:00:00 2001 From: Henry Gressmann Date: Mon, 15 Jan 2024 23:28:40 +0100 Subject: feat: element instantiation Signed-off-by: Henry Gressmann --- crates/parser/src/conversion.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'crates/parser') diff --git a/crates/parser/src/conversion.rs b/crates/parser/src/conversion.rs index 7b36dcd..b1427c0 100644 --- a/crates/parser/src/conversion.rs +++ b/crates/parser/src/conversion.rs @@ -307,7 +307,7 @@ pub fn process_const_operator(op: wasmparser::Operator) -> Result Ok(ConstInstruction::F64Const(f64::from_bits(value.bits()))), // TODO: check if this is correct wasmparser::Operator::GlobalGet { global_index } => Ok(ConstInstruction::GlobalGet(global_index)), op => Err(crate::ParseError::UnsupportedOperator(format!( - "Unsupported instruction: {:?}", + "Unsupported const instruction: {:?}", op ))), } @@ -587,6 +587,16 @@ pub fn process_operators<'a>( I64TruncSatF32U => Instruction::I64TruncSatF32U, I64TruncSatF64S => Instruction::I64TruncSatF64S, I64TruncSatF64U => Instruction::I64TruncSatF64U, + TableGet { table } => Instruction::TableGet(table), + TableSet { table } => Instruction::TableSet(table), + TableInit { table, elem_index } => Instruction::TableInit(table, elem_index), + TableCopy { src_table, dst_table } => Instruction::TableCopy { + from: src_table, + to: dst_table, + }, + TableGrow { table } => Instruction::TableGrow(table), + TableSize { table } => Instruction::TableSize(table), + TableFill { table } => Instruction::TableFill(table), op => { log::error!("Unsupported instruction: {:?}", op); return Err(crate::ParseError::UnsupportedOperator(format!( -- cgit v1.3.1