From 0f3581ef8fdb55ad21fdfd132eaefadaec242f85 Mon Sep 17 00:00:00 2001 From: Henry Gressmann Date: Tue, 6 May 2025 20:14:50 +0200 Subject: chore: update deps, update nightly Signed-off-by: Henry Gressmann --- crates/parser/src/lib.rs | 2 ++ crates/parser/src/module.rs | 2 +- crates/parser/src/visit.rs | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'crates/parser/src') diff --git a/crates/parser/src/lib.rs b/crates/parser/src/lib.rs index aa33995..f0196b6 100644 --- a/crates/parser/src/lib.rs +++ b/crates/parser/src/lib.rs @@ -83,6 +83,8 @@ impl Parser { cm_nested_names: false, cm_values: false, cm_error_context: false, + cm_fixed_size_list: false, + cm_gc: false, }; Validator::new_with_features(features.into()) } diff --git a/crates/parser/src/module.rs b/crates/parser/src/module.rs index 0e17ad9..3a3becd 100644 --- a/crates/parser/src/module.rs +++ b/crates/parser/src/module.rs @@ -125,7 +125,7 @@ impl ModuleReader { self.code_type_addrs = reader.into_iter().map(|f| Ok(f?)).collect::>>()?; } CodeSectionStart { count, range, .. } => { - debug!("Found code section ({} functions)", count); + debug!("Found code section ({count} functions)"); if !self.code.is_empty() { return Err(ParseError::DuplicateSection("Code section".into())); } diff --git a/crates/parser/src/visit.rs b/crates/parser/src/visit.rs index 10005c0..1635d2d 100644 --- a/crates/parser/src/visit.rs +++ b/crates/parser/src/visit.rs @@ -453,6 +453,21 @@ impl<'a, R: WasmModuleResources> wasmparser::VisitOperator<'a> for FunctionBuild self.instructions.push(Instruction::RefIsNull); } + fn visit_typed_select_multi(&mut self, _tys: Vec) -> Self::Output { + self.errors.push(crate::ParseError::UnsupportedOperator( + "Typed select with multiple types is not supported".to_string(), + )); + + // self.instructions.extend(tys.into_iter().map(|ty| match ty { + // wasmparser::ValType::I32 => Instruction::Select32, + // wasmparser::ValType::F32 => Instruction::Select32, + // wasmparser::ValType::I64 => Instruction::Select64, + // wasmparser::ValType::F64 => Instruction::Select64, + // wasmparser::ValType::V128 => Instruction::Select128, + // wasmparser::ValType::Ref(_) => Instruction::SelectRef, + // })); + } + fn visit_typed_select(&mut self, ty: wasmparser::ValType) -> Self::Output { self.instructions.push(match ty { wasmparser::ValType::I32 => Instruction::Select32, -- cgit v1.3.1