/src/wasm-tools/crates/wasmparser/src/binary_reader.rs
Line | Count | Source (jump to first uncovered line) |
1 | | /* Copyright 2018 Mozilla Foundation |
2 | | * |
3 | | * Licensed under the Apache License, Version 2.0 (the "License"); |
4 | | * you may not use this file except in compliance with the License. |
5 | | * You may obtain a copy of the License at |
6 | | * |
7 | | * http://www.apache.org/licenses/LICENSE-2.0 |
8 | | * |
9 | | * Unless required by applicable law or agreed to in writing, software |
10 | | * distributed under the License is distributed on an "AS IS" BASIS, |
11 | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | | * See the License for the specific language governing permissions and |
13 | | * limitations under the License. |
14 | | */ |
15 | | |
16 | | use crate::{limits::*, *}; |
17 | | use std::convert::TryInto; |
18 | | use std::error::Error; |
19 | | use std::fmt; |
20 | | use std::marker; |
21 | | use std::ops::Range; |
22 | | use std::str; |
23 | | |
24 | | pub(crate) const WASM_MAGIC_NUMBER: &[u8; 4] = b"\0asm"; |
25 | | |
26 | | /// A binary reader for WebAssembly modules. |
27 | 0 | #[derive(Debug, Clone)] |
28 | | pub struct BinaryReaderError { |
29 | | // Wrap the actual error data in a `Box` so that the error is just one |
30 | | // word. This means that we can continue returning small `Result`s in |
31 | | // registers. |
32 | | pub(crate) inner: Box<BinaryReaderErrorInner>, |
33 | | } |
34 | | |
35 | 0 | #[derive(Debug, Clone)] |
36 | | pub(crate) struct BinaryReaderErrorInner { |
37 | | pub(crate) message: String, |
38 | | pub(crate) offset: usize, |
39 | | pub(crate) needed_hint: Option<usize>, |
40 | | } |
41 | | |
42 | | /// The result for `BinaryReader` operations. |
43 | | pub type Result<T, E = BinaryReaderError> = std::result::Result<T, E>; |
44 | | |
45 | | impl Error for BinaryReaderError {} |
46 | | |
47 | | impl fmt::Display for BinaryReaderError { |
48 | 0 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { |
49 | 0 | write!( |
50 | 0 | f, |
51 | 0 | "{} (at offset 0x{:x})", |
52 | 0 | self.inner.message, self.inner.offset |
53 | 0 | ) |
54 | 0 | } |
55 | | } |
56 | | |
57 | | impl BinaryReaderError { |
58 | | #[cold] |
59 | 34.1k | pub(crate) fn new(message: impl Into<String>, offset: usize) -> Self { |
60 | 34.1k | let message = message.into(); |
61 | 34.1k | BinaryReaderError { |
62 | 34.1k | inner: Box::new(BinaryReaderErrorInner { |
63 | 34.1k | message, |
64 | 34.1k | offset, |
65 | 34.1k | needed_hint: None, |
66 | 34.1k | }), |
67 | 34.1k | } |
68 | 34.1k | } <wasmparser::binary_reader::BinaryReaderError>::new::<&str> Line | Count | Source | 59 | 23.3k | pub(crate) fn new(message: impl Into<String>, offset: usize) -> Self { | 60 | 23.3k | let message = message.into(); | 61 | 23.3k | BinaryReaderError { | 62 | 23.3k | inner: Box::new(BinaryReaderErrorInner { | 63 | 23.3k | message, | 64 | 23.3k | offset, | 65 | 23.3k | needed_hint: None, | 66 | 23.3k | }), | 67 | 23.3k | } | 68 | 23.3k | } |
<wasmparser::binary_reader::BinaryReaderError>::new::<alloc::string::String> Line | Count | Source | 59 | 10.8k | pub(crate) fn new(message: impl Into<String>, offset: usize) -> Self { | 60 | 10.8k | let message = message.into(); | 61 | 10.8k | BinaryReaderError { | 62 | 10.8k | inner: Box::new(BinaryReaderErrorInner { | 63 | 10.8k | message, | 64 | 10.8k | offset, | 65 | 10.8k | needed_hint: None, | 66 | 10.8k | }), | 67 | 10.8k | } | 68 | 10.8k | } |
|
69 | | |
70 | | #[cold] |
71 | 10.8k | pub(crate) fn fmt(args: fmt::Arguments<'_>, offset: usize) -> Self { |
72 | 10.8k | BinaryReaderError::new(args.to_string(), offset) |
73 | 10.8k | } |
74 | | |
75 | | #[cold] |
76 | 10.4M | pub(crate) fn eof(offset: usize, needed_hint: usize) -> Self { |
77 | 10.4M | BinaryReaderError { |
78 | 10.4M | inner: Box::new(BinaryReaderErrorInner { |
79 | 10.4M | message: "unexpected end-of-file".to_string(), |
80 | 10.4M | offset, |
81 | 10.4M | needed_hint: Some(needed_hint), |
82 | 10.4M | }), |
83 | 10.4M | } |
84 | 10.4M | } |
85 | | |
86 | | /// Get this error's message. |
87 | 5.02k | pub fn message(&self) -> &str { |
88 | 5.02k | &self.inner.message |
89 | 5.02k | } |
90 | | |
91 | | /// Get the offset within the Wasm binary where the error occurred. |
92 | 5.02k | pub fn offset(&self) -> usize { |
93 | 5.02k | self.inner.offset |
94 | 5.02k | } |
95 | | } |
96 | | |
97 | | /// A binary reader of the WebAssembly structures and types. |
98 | 6.62M | #[derive(Clone, Debug, Hash)] <wasmparser::binary_reader::BinaryReader as core::clone::Clone>::clone Line | Count | Source | 98 | 34.8k | #[derive(Clone, Debug, Hash)] |
<wasmparser::binary_reader::BinaryReader as core::clone::Clone>::clone Line | Count | Source | 98 | 6.58M | #[derive(Clone, Debug, Hash)] |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader as core::clone::Clone>::clone Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader as core::clone::Clone>::clone |
99 | | pub struct BinaryReader<'a> { |
100 | | pub(crate) buffer: &'a [u8], |
101 | | pub(crate) position: usize, |
102 | | original_offset: usize, |
103 | | allow_memarg64: bool, |
104 | | } |
105 | | |
106 | | impl<'a> BinaryReader<'a> { |
107 | | /// Constructs `BinaryReader` type. |
108 | | /// |
109 | | /// # Examples |
110 | | /// ``` |
111 | | /// let fn_body = &vec![0x41, 0x00, 0x10, 0x00, 0x0B]; |
112 | | /// let mut reader = wasmparser::BinaryReader::new(fn_body); |
113 | | /// while !reader.eof() { |
114 | | /// let op = reader.read_operator(); |
115 | | /// println!("{:?}", op) |
116 | | /// } |
117 | | /// ``` |
118 | 38.7k | pub fn new(data: &[u8]) -> BinaryReader { |
119 | 38.7k | BinaryReader { |
120 | 38.7k | buffer: data, |
121 | 38.7k | position: 0, |
122 | 38.7k | original_offset: 0, |
123 | 38.7k | allow_memarg64: false, |
124 | 38.7k | } |
125 | 38.7k | } |
126 | | |
127 | | /// Constructs a `BinaryReader` with an explicit starting offset. |
128 | 82.0M | pub fn new_with_offset(data: &[u8], original_offset: usize) -> BinaryReader { |
129 | 82.0M | BinaryReader { |
130 | 82.0M | buffer: data, |
131 | 82.0M | position: 0, |
132 | 82.0M | original_offset, |
133 | 82.0M | allow_memarg64: false, |
134 | 82.0M | } |
135 | 82.0M | } |
136 | | |
137 | | /// Gets the original position of the binary reader. |
138 | | #[inline] |
139 | 694M | pub fn original_position(&self) -> usize { |
140 | 694M | self.original_offset + self.position |
141 | 694M | } Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::original_position <wasmparser::binary_reader::BinaryReader>::original_position Line | Count | Source | 139 | 171M | pub fn original_position(&self) -> usize { | 140 | 171M | self.original_offset + self.position | 141 | 171M | } |
<wasmparser::binary_reader::BinaryReader>::original_position Line | Count | Source | 139 | 522M | pub fn original_position(&self) -> usize { | 140 | 522M | self.original_offset + self.position | 141 | 522M | } |
<wasmparser::binary_reader::BinaryReader>::original_position Line | Count | Source | 139 | 75.0k | pub fn original_position(&self) -> usize { | 140 | 75.0k | self.original_offset + self.position | 141 | 75.0k | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::original_position |
142 | | |
143 | | /// Whether or not to allow 64-bit memory arguments in functions. |
144 | | /// |
145 | | /// This is intended to be `true` when support for the memory64 |
146 | | /// WebAssembly proposal is also enabled. |
147 | 2.23M | pub fn allow_memarg64(&mut self, allow: bool) { |
148 | 2.23M | self.allow_memarg64 = allow; |
149 | 2.23M | } |
150 | | |
151 | | /// Returns a range from the starting offset to the end of the buffer. |
152 | 6.78M | pub fn range(&self) -> Range<usize> { |
153 | 6.78M | self.original_offset..self.original_offset + self.buffer.len() |
154 | 6.78M | } |
155 | | |
156 | 20.0M | pub(crate) fn remaining_buffer(&self) -> &'a [u8] { |
157 | 20.0M | &self.buffer[self.position..] |
158 | 20.0M | } |
159 | | |
160 | 147M | fn ensure_has_byte(&self) -> Result<()> { |
161 | 147M | if self.position < self.buffer.len() { |
162 | 147M | Ok(()) |
163 | | } else { |
164 | 669 | Err(BinaryReaderError::eof(self.original_position(), 1)) |
165 | | } |
166 | 147M | } |
167 | | |
168 | 105M | pub(crate) fn ensure_has_bytes(&self, len: usize) -> Result<()> { |
169 | 105M | if self.position + len <= self.buffer.len() { |
170 | 95.3M | Ok(()) |
171 | | } else { |
172 | 10.1M | let hint = self.position + len - self.buffer.len(); |
173 | 10.1M | Err(BinaryReaderError::eof(self.original_position(), hint)) |
174 | | } |
175 | 105M | } |
176 | | |
177 | | /// Reads a value of type `T` from this binary reader, advancing the |
178 | | /// internal position in this reader forward as data is read. |
179 | | #[inline] |
180 | 381M | pub fn read<T>(&mut self) -> Result<T> |
181 | 381M | where |
182 | 381M | T: FromReader<'a>, |
183 | 381M | { |
184 | 381M | T::from_reader(self) |
185 | 381M | } <wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::code::FunctionBody> Line | Count | Source | 180 | 506k | pub fn read<T>(&mut self) -> Result<T> | 181 | 506k | where | 182 | 506k | T: FromReader<'a>, | 183 | 506k | { | 184 | 506k | T::from_reader(self) | 185 | 506k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::names::IndirectNaming> Line | Count | Source | 180 | 125k | pub fn read<T>(&mut self) -> Result<T> | 181 | 125k | where | 182 | 125k | T: FromReader<'a>, | 183 | 125k | { | 184 | 125k | T::from_reader(self) | 185 | 125k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::names::Naming> Line | Count | Source | 180 | 694k | pub fn read<T>(&mut self) -> Result<T> | 181 | 694k | where | 182 | 694k | T: FromReader<'a>, | 183 | 694k | { | 184 | 694k | T::from_reader(self) | 185 | 694k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::GlobalType> Line | Count | Source | 180 | 1.33M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.33M | where | 182 | 1.33M | T: FromReader<'a>, | 183 | 1.33M | { | 184 | 1.33M | T::from_reader(self) | 185 | 1.33M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::canonicals::CanonicalFunction> Line | Count | Source | 180 | 212k | pub fn read<T>(&mut self) -> Result<T> | 181 | 212k | where | 182 | 212k | T: FromReader<'a>, | 183 | 212k | { | 184 | 212k | T::from_reader(self) | 185 | 212k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::InstanceTypeDeclaration> Line | Count | Source | 180 | 30.5M | pub fn read<T>(&mut self) -> Result<T> | 181 | 30.5M | where | 182 | 30.5M | T: FromReader<'a>, | 183 | 30.5M | { | 184 | 30.5M | T::from_reader(self) | 185 | 30.5M | } |
<wasmparser::binary_reader::BinaryReader>::read::<(&str, wasmparser::readers::component::types::ComponentValType)> Line | Count | Source | 180 | 16.0M | pub fn read<T>(&mut self) -> Result<T> | 181 | 16.0M | where | 182 | 16.0M | T: FromReader<'a>, | 183 | 16.0M | { | 184 | 16.0M | T::from_reader(self) | 185 | 16.0M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::data::Data> Line | Count | Source | 180 | 282k | pub fn read<T>(&mut self) -> Result<T> | 181 | 282k | where | 182 | 282k | T: FromReader<'a>, | 183 | 282k | { | 184 | 282k | T::from_reader(self) | 185 | 282k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::ValType> Line | Count | Source | 180 | 39.8M | pub fn read<T>(&mut self) -> Result<T> | 181 | 39.8M | where | 182 | 39.8M | T: FromReader<'a>, | 183 | 39.8M | { | 184 | 39.8M | T::from_reader(self) | 185 | 39.8M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::imports::TypeRef> Line | Count | Source | 180 | 1.10M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.10M | where | 182 | 1.10M | T: FromReader<'a>, | 183 | 1.10M | { | 184 | 1.10M | T::from_reader(self) | 185 | 1.10M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::imports::TypeBounds> Line | Count | Source | 180 | 5.29M | pub fn read<T>(&mut self) -> Result<T> | 181 | 5.29M | where | 182 | 5.29M | T: FromReader<'a>, | 183 | 5.29M | { | 184 | 5.29M | T::from_reader(self) | 185 | 5.29M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::HeapType> Line | Count | Source | 180 | 52.6M | pub fn read<T>(&mut self) -> Result<T> | 181 | 52.6M | where | 182 | 52.6M | T: FromReader<'a>, | 183 | 52.6M | { | 184 | 52.6M | T::from_reader(self) | 185 | 52.6M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::exports::ComponentExport> Line | Count | Source | 180 | 557k | pub fn read<T>(&mut self) -> Result<T> | 181 | 557k | where | 182 | 557k | T: FromReader<'a>, | 183 | 557k | { | 184 | 557k | T::from_reader(self) | 185 | 557k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::CoreType> Line | Count | Source | 180 | 815 | pub fn read<T>(&mut self) -> Result<T> | 181 | 815 | where | 182 | 815 | T: FromReader<'a>, | 183 | 815 | { | 184 | 815 | T::from_reader(self) | 185 | 815 | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::exports::ExternalKind> Line | Count | Source | 180 | 2.72M | pub fn read<T>(&mut self) -> Result<T> | 181 | 2.72M | where | 182 | 2.72M | T: FromReader<'a>, | 183 | 2.72M | { | 184 | 2.72M | T::from_reader(self) | 185 | 2.72M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::init::ConstExpr> Line | Count | Source | 180 | 17.4M | pub fn read<T>(&mut self) -> Result<T> | 181 | 17.4M | where | 182 | 17.4M | T: FromReader<'a>, | 183 | 17.4M | { | 184 | 17.4M | T::from_reader(self) | 185 | 17.4M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::Type> Line | Count | Source | 180 | 1.21M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.21M | where | 182 | 1.21M | T: FromReader<'a>, | 183 | 1.21M | { | 184 | 1.21M | T::from_reader(self) | 185 | 1.21M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::globals::Global> Line | Count | Source | 180 | 1.05M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.05M | where | 182 | 1.05M | T: FromReader<'a>, | 183 | 1.05M | { | 184 | 1.05M | T::from_reader(self) | 185 | 1.05M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::aliases::ComponentAlias> Line | Count | Source | 180 | 2.03M | pub fn read<T>(&mut self) -> Result<T> | 181 | 2.03M | where | 182 | 2.03M | T: FromReader<'a>, | 183 | 2.03M | { | 184 | 2.03M | T::from_reader(self) | 185 | 2.03M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::canonicals::CanonicalOption> Line | Count | Source | 180 | 221k | pub fn read<T>(&mut self) -> Result<T> | 181 | 221k | where | 182 | 221k | T: FromReader<'a>, | 183 | 221k | { | 184 | 221k | T::from_reader(self) | 185 | 221k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::ComponentFuncResult> Line | Count | Source | 180 | 2.62M | pub fn read<T>(&mut self) -> Result<T> | 181 | 2.62M | where | 182 | 2.62M | T: FromReader<'a>, | 183 | 2.62M | { | 184 | 2.62M | T::from_reader(self) | 185 | 2.62M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::tables::Table> Line | Count | Source | 180 | 245k | pub fn read<T>(&mut self) -> Result<T> | 181 | 245k | where | 182 | 245k | T: FromReader<'a>, | 183 | 245k | { | 184 | 245k | T::from_reader(self) | 185 | 245k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::instances::InstantiationArgKind> Line | Count | Source | 180 | 62.2k | pub fn read<T>(&mut self) -> Result<T> | 181 | 62.2k | where | 182 | 62.2k | T: FromReader<'a>, | 183 | 62.2k | { | 184 | 62.2k | T::from_reader(self) | 185 | 62.2k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::FuncType> Line | Count | Source | 180 | 1.21M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.21M | where | 182 | 1.21M | T: FromReader<'a>, | 183 | 1.21M | { | 184 | 1.21M | T::from_reader(self) | 185 | 1.21M | } |
<wasmparser::binary_reader::BinaryReader>::read::<core::option::Option<wasmparser::readers::component::types::ComponentValType>> Line | Count | Source | 180 | 4.08M | pub fn read<T>(&mut self) -> Result<T> | 181 | 4.08M | where | 182 | 4.08M | T: FromReader<'a>, | 183 | 4.08M | { | 184 | 4.08M | T::from_reader(self) | 185 | 4.08M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::elements::Element> Line | Count | Source | 180 | 670k | pub fn read<T>(&mut self) -> Result<T> | 181 | 670k | where | 182 | 670k | T: FromReader<'a>, | 183 | 670k | { | 184 | 670k | T::from_reader(self) | 185 | 670k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::TableType> Line | Count | Source | 180 | 349k | pub fn read<T>(&mut self) -> Result<T> | 181 | 349k | where | 182 | 349k | T: FromReader<'a>, | 183 | 349k | { | 184 | 349k | T::from_reader(self) | 185 | 349k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::ComponentValType> Line | Count | Source | 180 | 35.8M | pub fn read<T>(&mut self) -> Result<T> | 181 | 35.8M | where | 182 | 35.8M | T: FromReader<'a>, | 183 | 35.8M | { | 184 | 35.8M | T::from_reader(self) | 185 | 35.8M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::ComponentTypeDeclaration> Line | Count | Source | 180 | 8.35M | pub fn read<T>(&mut self) -> Result<T> | 181 | 8.35M | where | 182 | 8.35M | T: FromReader<'a>, | 183 | 8.35M | { | 184 | 8.35M | T::from_reader(self) | 185 | 8.35M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::exports::ComponentExternalKind> Line | Count | Source | 180 | 11.2M | pub fn read<T>(&mut self) -> Result<T> | 181 | 11.2M | where | 182 | 11.2M | T: FromReader<'a>, | 183 | 11.2M | { | 184 | 11.2M | T::from_reader(self) | 185 | 11.2M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::imports::ComponentImport> Line | Count | Source | 180 | 2.41M | pub fn read<T>(&mut self) -> Result<T> | 181 | 2.41M | where | 182 | 2.41M | T: FromReader<'a>, | 183 | 2.41M | { | 184 | 2.41M | T::from_reader(self) | 185 | 2.41M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::MemoryType> Line | Count | Source | 180 | 438k | pub fn read<T>(&mut self) -> Result<T> | 181 | 438k | where | 182 | 438k | T: FromReader<'a>, | 183 | 438k | { | 184 | 438k | T::from_reader(self) | 185 | 438k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::instances::Instance> Line | Count | Source | 180 | 181k | pub fn read<T>(&mut self) -> Result<T> | 181 | 181k | where | 182 | 181k | T: FromReader<'a>, | 183 | 181k | { | 184 | 181k | T::from_reader(self) | 185 | 181k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::instances::InstantiationArg> Line | Count | Source | 180 | 62.2k | pub fn read<T>(&mut self) -> Result<T> | 181 | 62.2k | where | 182 | 62.2k | T: FromReader<'a>, | 183 | 62.2k | { | 184 | 62.2k | T::from_reader(self) | 185 | 62.2k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::instances::ComponentInstantiationArg> Line | Count | Source | 180 | 44.4k | pub fn read<T>(&mut self) -> Result<T> | 181 | 44.4k | where | 182 | 44.4k | T: FromReader<'a>, | 183 | 44.4k | { | 184 | 44.4k | T::from_reader(self) | 185 | 44.4k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::TagType> Line | Count | Source | 180 | 247k | pub fn read<T>(&mut self) -> Result<T> | 181 | 247k | where | 182 | 247k | T: FromReader<'a>, | 183 | 247k | { | 184 | 247k | T::from_reader(self) | 185 | 247k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::instances::ComponentInstance> Line | Count | Source | 180 | 30.3k | pub fn read<T>(&mut self) -> Result<T> | 181 | 30.3k | where | 182 | 30.3k | T: FromReader<'a>, | 183 | 30.3k | { | 184 | 30.3k | T::from_reader(self) | 185 | 30.3k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::imports::Import> Line | Count | Source | 180 | 1.10M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.10M | where | 182 | 1.10M | T: FromReader<'a>, | 183 | 1.10M | { | 184 | 1.10M | T::from_reader(self) | 185 | 1.10M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::exports::Export> Line | Count | Source | 180 | 1.25M | pub fn read<T>(&mut self) -> Result<T> | 181 | 1.25M | where | 182 | 1.25M | T: FromReader<'a>, | 183 | 1.25M | { | 184 | 1.25M | T::from_reader(self) | 185 | 1.25M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::imports::ComponentTypeRef> Line | Count | Source | 180 | 10.6M | pub fn read<T>(&mut self) -> Result<T> | 181 | 10.6M | where | 182 | 10.6M | T: FromReader<'a>, | 183 | 10.6M | { | 184 | 10.6M | T::from_reader(self) | 185 | 10.6M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::types::RefType> Line | Count | Source | 180 | 6.87M | pub fn read<T>(&mut self) -> Result<T> | 181 | 6.87M | where | 182 | 6.87M | T: FromReader<'a>, | 183 | 6.87M | { | 184 | 6.87M | T::from_reader(self) | 185 | 6.87M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::ComponentType> Line | Count | Source | 180 | 22.7M | pub fn read<T>(&mut self) -> Result<T> | 181 | 22.7M | where | 182 | 22.7M | T: FromReader<'a>, | 183 | 22.7M | { | 184 | 22.7M | T::from_reader(self) | 185 | 22.7M | } |
<wasmparser::binary_reader::BinaryReader>::read::<u32> Line | Count | Source | 180 | 46.0M | pub fn read<T>(&mut self) -> Result<T> | 181 | 46.0M | where | 182 | 46.0M | T: FromReader<'a>, | 183 | 46.0M | { | 184 | 46.0M | T::from_reader(self) | 185 | 46.0M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::ModuleTypeDeclaration> Line | Count | Source | 180 | 513 | pub fn read<T>(&mut self) -> Result<T> | 181 | 513 | where | 182 | 513 | T: FromReader<'a>, | 183 | 513 | { | 184 | 513 | T::from_reader(self) | 185 | 513 | } |
<wasmparser::binary_reader::BinaryReader>::read::<&str> Line | Count | Source | 180 | 48.9M | pub fn read<T>(&mut self) -> Result<T> | 181 | 48.9M | where | 182 | 48.9M | T: FromReader<'a>, | 183 | 48.9M | { | 184 | 48.9M | T::from_reader(self) | 185 | 48.9M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::start::ComponentStartFunction> Line | Count | Source | 180 | 4.41k | pub fn read<T>(&mut self) -> Result<T> | 181 | 4.41k | where | 182 | 4.41k | T: FromReader<'a>, | 183 | 4.41k | { | 184 | 4.41k | T::from_reader(self) | 185 | 4.41k | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::component::types::VariantCase> Line | Count | Source | 180 | 2.13M | pub fn read<T>(&mut self) -> Result<T> | 181 | 2.13M | where | 182 | 2.13M | T: FromReader<'a>, | 183 | 2.13M | { | 184 | 2.13M | T::from_reader(self) | 185 | 2.13M | } |
<wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::producers::ProducersFieldValue> Line | Count | Source | 180 | 37.5k | pub fn read<T>(&mut self) -> Result<T> | 181 | 37.5k | where | 182 | 37.5k | T: FromReader<'a>, | 183 | 37.5k | { | 184 | 37.5k | T::from_reader(self) | 185 | 37.5k | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::names::IndirectNaming> Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::names::Naming> <wasmparser::binary_reader::BinaryReader>::read::<wasmparser::readers::core::producers::ProducersField> Line | Count | Source | 180 | 37.5k | pub fn read<T>(&mut self) -> Result<T> | 181 | 37.5k | where | 182 | 37.5k | T: FromReader<'a>, | 183 | 37.5k | { | 184 | 37.5k | T::from_reader(self) | 185 | 37.5k | } |
|
186 | | |
187 | 180k | pub(crate) fn read_u7(&mut self) -> Result<u8> { |
188 | 180k | let b = self.read_u8()?; |
189 | 180k | if (b & 0x80) != 0 { |
190 | 1.41k | return Err(BinaryReaderError::new( |
191 | 1.41k | "invalid u7", |
192 | 1.41k | self.original_position() - 1, |
193 | 1.41k | )); |
194 | 178k | } |
195 | 178k | Ok(b) |
196 | 180k | } |
197 | | |
198 | 3.06M | pub(crate) fn external_kind_from_byte(byte: u8, offset: usize) -> Result<ExternalKind> { |
199 | 3.06M | match byte { |
200 | 1.94M | 0x00 => Ok(ExternalKind::Func), |
201 | 316k | 0x01 => Ok(ExternalKind::Table), |
202 | 317k | 0x02 => Ok(ExternalKind::Memory), |
203 | 424k | 0x03 => Ok(ExternalKind::Global), |
204 | 66.1k | 0x04 => Ok(ExternalKind::Tag), |
205 | 126 | x => Err(Self::invalid_leading_byte_error(x, "external kind", offset)), |
206 | | } |
207 | 3.06M | } |
208 | | |
209 | | /// Reads a variable-length 32-bit size from the byte stream while checking |
210 | | /// against a limit. |
211 | 15.3M | pub fn read_size(&mut self, limit: usize, desc: &str) -> Result<usize> { |
212 | 15.3M | let pos = self.original_position(); |
213 | 15.3M | let size = self.read_var_u32()? as usize; |
214 | 15.3M | if size > limit { |
215 | 155 | bail!(pos, "{desc} size is out of bounds"); |
216 | 15.3M | } |
217 | 15.3M | Ok(size) |
218 | 15.3M | } |
219 | | |
220 | | /// Reads a variable-length 32-bit size from the byte stream while checking |
221 | | /// against a limit. |
222 | | /// |
223 | | /// Then reads that many values of type `T` and returns them as an iterator. |
224 | | /// |
225 | | /// Note that regardless of how many items are read from the returned |
226 | | /// iterator the items will still be parsed from this reader. |
227 | 15.2M | pub fn read_iter<'me, T>( |
228 | 15.2M | &'me mut self, |
229 | 15.2M | limit: usize, |
230 | 15.2M | desc: &str, |
231 | 15.2M | ) -> Result<BinaryReaderIter<'a, 'me, T>> |
232 | 15.2M | where |
233 | 15.2M | T: FromReader<'a>, |
234 | 15.2M | { |
235 | 15.2M | let size = self.read_size(limit, desc)?; |
236 | 15.2M | Ok(BinaryReaderIter { |
237 | 15.2M | remaining: size, |
238 | 15.2M | reader: self, |
239 | 15.2M | _marker: marker::PhantomData, |
240 | 15.2M | }) |
241 | 15.2M | } <wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::types::VariantCase> Line | Count | Source | 227 | 669k | pub fn read_iter<'me, T>( | 228 | 669k | &'me mut self, | 229 | 669k | limit: usize, | 230 | 669k | desc: &str, | 231 | 669k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 669k | where | 233 | 669k | T: FromReader<'a>, | 234 | 669k | { | 235 | 669k | let size = self.read_size(limit, desc)?; | 236 | 669k | Ok(BinaryReaderIter { | 237 | 669k | remaining: size, | 238 | 669k | reader: self, | 239 | 669k | _marker: marker::PhantomData, | 240 | 669k | }) | 241 | 669k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::canonicals::CanonicalOption> Line | Count | Source | 227 | 212k | pub fn read_iter<'me, T>( | 228 | 212k | &'me mut self, | 229 | 212k | limit: usize, | 230 | 212k | desc: &str, | 231 | 212k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 212k | where | 233 | 212k | T: FromReader<'a>, | 234 | 212k | { | 235 | 212k | let size = self.read_size(limit, desc)?; | 236 | 211k | Ok(BinaryReaderIter { | 237 | 211k | remaining: size, | 238 | 211k | reader: self, | 239 | 211k | _marker: marker::PhantomData, | 240 | 211k | }) | 241 | 212k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::core::types::ValType> Line | Count | Source | 227 | 2.43M | pub fn read_iter<'me, T>( | 228 | 2.43M | &'me mut self, | 229 | 2.43M | limit: usize, | 230 | 2.43M | desc: &str, | 231 | 2.43M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 2.43M | where | 233 | 2.43M | T: FromReader<'a>, | 234 | 2.43M | { | 235 | 2.43M | let size = self.read_size(limit, desc)?; | 236 | 2.43M | Ok(BinaryReaderIter { | 237 | 2.43M | remaining: size, | 238 | 2.43M | reader: self, | 239 | 2.43M | _marker: marker::PhantomData, | 240 | 2.43M | }) | 241 | 2.43M | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::instances::InstantiationArg> Line | Count | Source | 227 | 119k | pub fn read_iter<'me, T>( | 228 | 119k | &'me mut self, | 229 | 119k | limit: usize, | 230 | 119k | desc: &str, | 231 | 119k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 119k | where | 233 | 119k | T: FromReader<'a>, | 234 | 119k | { | 235 | 119k | let size = self.read_size(limit, desc)?; | 236 | 119k | Ok(BinaryReaderIter { | 237 | 119k | remaining: size, | 238 | 119k | reader: self, | 239 | 119k | _marker: marker::PhantomData, | 240 | 119k | }) | 241 | 119k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<(&str, wasmparser::readers::component::types::ComponentValType)> Line | Count | Source | 227 | 5.33M | pub fn read_iter<'me, T>( | 228 | 5.33M | &'me mut self, | 229 | 5.33M | limit: usize, | 230 | 5.33M | desc: &str, | 231 | 5.33M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 5.33M | where | 233 | 5.33M | T: FromReader<'a>, | 234 | 5.33M | { | 235 | 5.33M | let size = self.read_size(limit, desc)?; | 236 | 5.33M | Ok(BinaryReaderIter { | 237 | 5.33M | remaining: size, | 238 | 5.33M | reader: self, | 239 | 5.33M | _marker: marker::PhantomData, | 240 | 5.33M | }) | 241 | 5.33M | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::instances::ComponentInstantiationArg> Line | Count | Source | 227 | 30.0k | pub fn read_iter<'me, T>( | 228 | 30.0k | &'me mut self, | 229 | 30.0k | limit: usize, | 230 | 30.0k | desc: &str, | 231 | 30.0k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 30.0k | where | 233 | 30.0k | T: FromReader<'a>, | 234 | 30.0k | { | 235 | 30.0k | let size = self.read_size(limit, desc)?; | 236 | 30.0k | Ok(BinaryReaderIter { | 237 | 30.0k | remaining: size, | 238 | 30.0k | reader: self, | 239 | 30.0k | _marker: marker::PhantomData, | 240 | 30.0k | }) | 241 | 30.0k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<u32> Line | Count | Source | 227 | 4.37k | pub fn read_iter<'me, T>( | 228 | 4.37k | &'me mut self, | 229 | 4.37k | limit: usize, | 230 | 4.37k | desc: &str, | 231 | 4.37k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 4.37k | where | 233 | 4.37k | T: FromReader<'a>, | 234 | 4.37k | { | 235 | 4.37k | let size = self.read_size(limit, desc)?; | 236 | 4.23k | Ok(BinaryReaderIter { | 237 | 4.23k | remaining: size, | 238 | 4.23k | reader: self, | 239 | 4.23k | _marker: marker::PhantomData, | 240 | 4.23k | }) | 241 | 4.37k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::core::exports::Export> Line | Count | Source | 227 | 62.2k | pub fn read_iter<'me, T>( | 228 | 62.2k | &'me mut self, | 229 | 62.2k | limit: usize, | 230 | 62.2k | desc: &str, | 231 | 62.2k | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 62.2k | where | 233 | 62.2k | T: FromReader<'a>, | 234 | 62.2k | { | 235 | 62.2k | let size = self.read_size(limit, desc)?; | 236 | 62.2k | Ok(BinaryReaderIter { | 237 | 62.2k | remaining: size, | 238 | 62.2k | reader: self, | 239 | 62.2k | _marker: marker::PhantomData, | 240 | 62.2k | }) | 241 | 62.2k | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::types::InstanceTypeDeclaration> Line | Count | Source | 227 | 1.52M | pub fn read_iter<'me, T>( | 228 | 1.52M | &'me mut self, | 229 | 1.52M | limit: usize, | 230 | 1.52M | desc: &str, | 231 | 1.52M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 1.52M | where | 233 | 1.52M | T: FromReader<'a>, | 234 | 1.52M | { | 235 | 1.52M | let size = self.read_size(limit, desc)?; | 236 | 1.52M | Ok(BinaryReaderIter { | 237 | 1.52M | remaining: size, | 238 | 1.52M | reader: self, | 239 | 1.52M | _marker: marker::PhantomData, | 240 | 1.52M | }) | 241 | 1.52M | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::types::ModuleTypeDeclaration> Line | Count | Source | 227 | 656 | pub fn read_iter<'me, T>( | 228 | 656 | &'me mut self, | 229 | 656 | limit: usize, | 230 | 656 | desc: &str, | 231 | 656 | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 656 | where | 233 | 656 | T: FromReader<'a>, | 234 | 656 | { | 235 | 656 | let size = self.read_size(limit, desc)?; | 236 | 654 | Ok(BinaryReaderIter { | 237 | 654 | remaining: size, | 238 | 654 | reader: self, | 239 | 654 | _marker: marker::PhantomData, | 240 | 654 | }) | 241 | 656 | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<&str> Line | Count | Source | 227 | 2.06M | pub fn read_iter<'me, T>( | 228 | 2.06M | &'me mut self, | 229 | 2.06M | limit: usize, | 230 | 2.06M | desc: &str, | 231 | 2.06M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 2.06M | where | 233 | 2.06M | T: FromReader<'a>, | 234 | 2.06M | { | 235 | 2.06M | let size = self.read_size(limit, desc)?; | 236 | 2.06M | Ok(BinaryReaderIter { | 237 | 2.06M | remaining: size, | 238 | 2.06M | reader: self, | 239 | 2.06M | _marker: marker::PhantomData, | 240 | 2.06M | }) | 241 | 2.06M | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::types::ComponentTypeDeclaration> Line | Count | Source | 227 | 1.12M | pub fn read_iter<'me, T>( | 228 | 1.12M | &'me mut self, | 229 | 1.12M | limit: usize, | 230 | 1.12M | desc: &str, | 231 | 1.12M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 1.12M | where | 233 | 1.12M | T: FromReader<'a>, | 234 | 1.12M | { | 235 | 1.12M | let size = self.read_size(limit, desc)?; | 236 | 1.12M | Ok(BinaryReaderIter { | 237 | 1.12M | remaining: size, | 238 | 1.12M | reader: self, | 239 | 1.12M | _marker: marker::PhantomData, | 240 | 1.12M | }) | 241 | 1.12M | } |
<wasmparser::binary_reader::BinaryReader>::read_iter::<wasmparser::readers::component::types::ComponentValType> Line | Count | Source | 227 | 1.62M | pub fn read_iter<'me, T>( | 228 | 1.62M | &'me mut self, | 229 | 1.62M | limit: usize, | 230 | 1.62M | desc: &str, | 231 | 1.62M | ) -> Result<BinaryReaderIter<'a, 'me, T>> | 232 | 1.62M | where | 233 | 1.62M | T: FromReader<'a>, | 234 | 1.62M | { | 235 | 1.62M | let size = self.read_size(limit, desc)?; | 236 | 1.62M | Ok(BinaryReaderIter { | 237 | 1.62M | remaining: size, | 238 | 1.62M | reader: self, | 239 | 1.62M | _marker: marker::PhantomData, | 240 | 1.62M | }) | 241 | 1.62M | } |
|
242 | | |
243 | 2.91M | fn read_first_byte_and_var_u32(&mut self) -> Result<(u8, u32)> { |
244 | 2.91M | let pos = self.position; |
245 | 2.91M | let val = self.read_var_u32()?; |
246 | 2.91M | Ok((self.buffer[pos], val)) |
247 | 2.91M | } |
248 | | |
249 | 6.18M | fn read_memarg(&mut self, max_align: u8) -> Result<MemArg> { |
250 | 6.18M | let flags_pos = self.original_position(); |
251 | 6.18M | let mut flags = self.read_var_u32()?; |
252 | 6.18M | let memory = if flags & (1 << 6) != 0 { |
253 | 3.39M | flags ^= 1 << 6; |
254 | 3.39M | self.read_var_u32()? |
255 | | } else { |
256 | 2.79M | 0 |
257 | | }; |
258 | 6.18M | let align = if flags >= (1 << 6) { |
259 | 271 | return Err(BinaryReaderError::new("alignment too large", flags_pos)); |
260 | | } else { |
261 | 6.18M | flags as u8 |
262 | | }; |
263 | 6.18M | let offset = if self.allow_memarg64 { |
264 | 4.38M | self.read_var_u64()? |
265 | | } else { |
266 | 1.79M | u64::from(self.read_var_u32()?) |
267 | | }; |
268 | 6.18M | Ok(MemArg { |
269 | 6.18M | align, |
270 | 6.18M | max_align, |
271 | 6.18M | offset, |
272 | 6.18M | memory, |
273 | 6.18M | }) |
274 | 6.18M | } |
275 | | |
276 | 140k | fn read_br_table(&mut self) -> Result<BrTable<'a>> { |
277 | 140k | let cnt = self.read_size(MAX_WASM_BR_TABLE_SIZE, "br_table")?; |
278 | 140k | let start = self.position; |
279 | 140k | for _ in 0..cnt { |
280 | 4.64M | self.read_var_u32()?; |
281 | | } |
282 | 140k | let end = self.position; |
283 | 140k | let default = self.read_var_u32()?; |
284 | 140k | Ok(BrTable { |
285 | 140k | reader: BinaryReader::new_with_offset(&self.buffer[start..end], start), |
286 | 140k | cnt: cnt as u32, |
287 | 140k | default, |
288 | 140k | }) |
289 | 140k | } |
290 | | |
291 | | /// Returns whether the `BinaryReader` has reached the end of the file. |
292 | | #[inline] |
293 | 274M | pub fn eof(&self) -> bool { |
294 | 274M | self.position >= self.buffer.len() |
295 | 274M | } <wasmparser::binary_reader::BinaryReader>::eof Line | Count | Source | 293 | 33.6k | pub fn eof(&self) -> bool { | 294 | 33.6k | self.position >= self.buffer.len() | 295 | 33.6k | } |
<wasmparser::binary_reader::BinaryReader>::eof Line | Count | Source | 293 | 76.5M | pub fn eof(&self) -> bool { | 294 | 76.5M | self.position >= self.buffer.len() | 295 | 76.5M | } |
<wasmparser::binary_reader::BinaryReader>::eof Line | Count | Source | 293 | 197M | pub fn eof(&self) -> bool { | 294 | 197M | self.position >= self.buffer.len() | 295 | 197M | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::eof <wasmparser::binary_reader::BinaryReader>::eof Line | Count | Source | 293 | 75.0k | pub fn eof(&self) -> bool { | 294 | 75.0k | self.position >= self.buffer.len() | 295 | 75.0k | } |
|
296 | | |
297 | | /// Returns the `BinaryReader`'s current position. |
298 | | #[inline] |
299 | 0 | pub fn current_position(&self) -> usize { |
300 | 0 | self.position |
301 | 0 | } |
302 | | |
303 | | /// Returns the number of bytes remaining in the `BinaryReader`. |
304 | | #[inline] |
305 | 14.3M | pub fn bytes_remaining(&self) -> usize { |
306 | 14.3M | self.buffer.len() - self.position |
307 | 14.3M | } |
308 | | |
309 | | /// Advances the `BinaryReader` `size` bytes, and returns a slice from the |
310 | | /// current position of `size` length. |
311 | | /// |
312 | | /// # Errors |
313 | | /// If `size` exceeds the remaining length in `BinaryReader`. |
314 | | pub fn read_bytes(&mut self, size: usize) -> Result<&'a [u8]> { |
315 | 89.5M | self.ensure_has_bytes(size)?; |
316 | 79.4M | let start = self.position; |
317 | 79.4M | self.position += size; |
318 | 79.4M | Ok(&self.buffer[start..self.position]) |
319 | 89.5M | } |
320 | | |
321 | | /// Reads a length-prefixed list of bytes from this reader and returns a |
322 | | /// new `BinaryReader` to read that list of bytes. |
323 | | /// |
324 | | /// Advances the position of this reader by the number of bytes read. |
325 | 965k | pub fn read_reader(&mut self, err: &str) -> Result<BinaryReader<'a>> { |
326 | 965k | let size = self.read_var_u32()? as usize; |
327 | 964k | let body_start = self.position; |
328 | 964k | let buffer = match self.buffer.get(self.position..).and_then(|s| s.get(..size)) { |
329 | 958k | Some(buf) => buf, |
330 | | None => { |
331 | 6.13k | return Err(BinaryReaderError::new( |
332 | 6.13k | err, |
333 | 6.13k | self.original_offset + self.buffer.len(), |
334 | 6.13k | )) |
335 | | } |
336 | | }; |
337 | 958k | self.position += size; |
338 | 958k | Ok(BinaryReader::new_with_offset( |
339 | 958k | buffer, |
340 | 958k | self.original_offset + body_start, |
341 | 958k | )) |
342 | 965k | } |
343 | | |
344 | | /// Advances the `BinaryReader` four bytes and returns a `u32`. |
345 | | /// # Errors |
346 | | /// If `BinaryReader` has less than four bytes remaining. |
347 | | pub fn read_u32(&mut self) -> Result<u32> { |
348 | 8.18M | self.ensure_has_bytes(4)?; |
349 | 8.17M | let word = u32::from_le_bytes( |
350 | 8.17M | self.buffer[self.position..self.position + 4] |
351 | 8.17M | .try_into() |
352 | 8.17M | .unwrap(), |
353 | 8.17M | ); |
354 | 8.17M | self.position += 4; |
355 | 8.17M | Ok(word) |
356 | 8.18M | } |
357 | | |
358 | | /// Advances the `BinaryReader` eight bytes and returns a `u64`. |
359 | | /// # Errors |
360 | | /// If `BinaryReader` has less than eight bytes remaining. |
361 | | pub fn read_u64(&mut self) -> Result<u64> { |
362 | 7.17M | self.ensure_has_bytes(8)?; |
363 | 7.17M | let word = u64::from_le_bytes( |
364 | 7.17M | self.buffer[self.position..self.position + 8] |
365 | 7.17M | .try_into() |
366 | 7.17M | .unwrap(), |
367 | 7.17M | ); |
368 | 7.17M | self.position += 8; |
369 | 7.17M | Ok(word) |
370 | 7.17M | } |
371 | | |
372 | | /// Advances the `BinaryReader` a single byte. |
373 | | /// |
374 | | /// # Errors |
375 | | /// |
376 | | /// If `BinaryReader` has no bytes remaining. |
377 | | #[inline] |
378 | 832M | pub fn read_u8(&mut self) -> Result<u8> { |
379 | 832M | let b = match self.buffer.get(self.position) { |
380 | 832M | Some(b) => *b, |
381 | 366k | None => return Err(self.eof_err()), |
382 | | }; |
383 | 832M | self.position += 1; |
384 | 832M | Ok(b) |
385 | 832M | } <wasmparser::binary_reader::BinaryReader>::read_u8 Line | Count | Source | 378 | 36.4k | pub fn read_u8(&mut self) -> Result<u8> { | 379 | 36.4k | let b = match self.buffer.get(self.position) { | 380 | 36.4k | Some(b) => *b, | 381 | 0 | None => return Err(self.eof_err()), | 382 | | }; | 383 | 36.4k | self.position += 1; | 384 | 36.4k | Ok(b) | 385 | 36.4k | } |
<wasmparser::binary_reader::BinaryReader>::read_u8 Line | Count | Source | 378 | 133M | pub fn read_u8(&mut self) -> Result<u8> { | 379 | 133M | let b = match self.buffer.get(self.position) { | 380 | 133M | Some(b) => *b, | 381 | 76 | None => return Err(self.eof_err()), | 382 | | }; | 383 | 133M | self.position += 1; | 384 | 133M | Ok(b) | 385 | 133M | } |
<wasmparser::binary_reader::BinaryReader>::read_u8 Line | Count | Source | 378 | 698M | pub fn read_u8(&mut self) -> Result<u8> { | 379 | 698M | let b = match self.buffer.get(self.position) { | 380 | 698M | Some(b) => *b, | 381 | 366k | None => return Err(self.eof_err()), | 382 | | }; | 383 | 698M | self.position += 1; | 384 | 698M | Ok(b) | 385 | 698M | } |
<wasmparser::binary_reader::BinaryReader>::read_u8 Line | Count | Source | 378 | 75.0k | pub fn read_u8(&mut self) -> Result<u8> { | 379 | 75.0k | let b = match self.buffer.get(self.position) { | 380 | 75.0k | Some(b) => *b, | 381 | 0 | None => return Err(self.eof_err()), | 382 | | }; | 383 | 75.0k | self.position += 1; | 384 | 75.0k | Ok(b) | 385 | 75.0k | } |
<wasmparser::binary_reader::BinaryReader>::read_u8 Line | Count | Source | 378 | 37.5k | pub fn read_u8(&mut self) -> Result<u8> { | 379 | 37.5k | let b = match self.buffer.get(self.position) { | 380 | 37.5k | Some(b) => *b, | 381 | 0 | None => return Err(self.eof_err()), | 382 | | }; | 383 | 37.5k | self.position += 1; | 384 | 37.5k | Ok(b) | 385 | 37.5k | } |
|
386 | | |
387 | | #[cold] |
388 | 366k | fn eof_err(&self) -> BinaryReaderError { |
389 | 366k | BinaryReaderError::eof(self.original_position(), 1) |
390 | 366k | } |
391 | | |
392 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
393 | | /// length integer as a `u32`. |
394 | | /// |
395 | | /// # Errors |
396 | | /// |
397 | | /// If `BinaryReader` has less than one or up to four bytes remaining, or |
398 | | /// the integer is larger than 32 bits. |
399 | | #[inline] |
400 | 274M | pub fn read_var_u32(&mut self) -> Result<u32> { |
401 | | // Optimization for single byte i32. |
402 | 274M | let byte = self.read_u8()?; |
403 | 273M | if (byte & 0x80) == 0 { |
404 | 243M | Ok(u32::from(byte)) |
405 | | } else { |
406 | 29.9M | self.read_var_u32_big(byte) |
407 | | } |
408 | 274M | } <wasmparser::binary_reader::BinaryReader>::read_var_u32 Line | Count | Source | 400 | 36.4k | pub fn read_var_u32(&mut self) -> Result<u32> { | 401 | | // Optimization for single byte i32. | 402 | 36.4k | let byte = self.read_u8()?; | 403 | 36.4k | if (byte & 0x80) == 0 { | 404 | 35.5k | Ok(u32::from(byte)) | 405 | | } else { | 406 | 862 | self.read_var_u32_big(byte) | 407 | | } | 408 | 36.4k | } |
<wasmparser::binary_reader::BinaryReader>::read_var_u32 Line | Count | Source | 400 | 37.4M | pub fn read_var_u32(&mut self) -> Result<u32> { | 401 | | // Optimization for single byte i32. | 402 | 37.4M | let byte = self.read_u8()?; | 403 | 37.4M | if (byte & 0x80) == 0 { | 404 | 29.6M | Ok(u32::from(byte)) | 405 | | } else { | 406 | 7.74M | self.read_var_u32_big(byte) | 407 | | } | 408 | 37.4M | } |
<wasmparser::binary_reader::BinaryReader>::read_var_u32 Line | Count | Source | 400 | 236M | pub fn read_var_u32(&mut self) -> Result<u32> { | 401 | | // Optimization for single byte i32. | 402 | 236M | let byte = self.read_u8()?; | 403 | 236M | if (byte & 0x80) == 0 { | 404 | 214M | Ok(u32::from(byte)) | 405 | | } else { | 406 | 22.2M | self.read_var_u32_big(byte) | 407 | | } | 408 | 236M | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::read_var_u32 <wasmparser::binary_reader::BinaryReader>::read_var_u32 Line | Count | Source | 400 | 37.5k | pub fn read_var_u32(&mut self) -> Result<u32> { | 401 | | // Optimization for single byte i32. | 402 | 37.5k | let byte = self.read_u8()?; | 403 | 37.5k | if (byte & 0x80) == 0 { | 404 | 37.5k | Ok(u32::from(byte)) | 405 | | } else { | 406 | 0 | self.read_var_u32_big(byte) | 407 | | } | 408 | 37.5k | } |
|
409 | | |
410 | 29.9M | fn read_var_u32_big(&mut self, byte: u8) -> Result<u32> { |
411 | 29.9M | let mut result = (byte & 0x7F) as u32; |
412 | 29.9M | let mut shift = 7; |
413 | | loop { |
414 | 40.8M | let byte = self.read_u8()?; |
415 | 40.7M | result |= ((byte & 0x7F) as u32) << shift; |
416 | 40.7M | if shift >= 25 && (byte >> (32 - shift)) != 0 { |
417 | 1.20k | let msg = if byte & 0x80 != 0 { |
418 | 1.01k | "invalid var_u32: integer representation too long" |
419 | | } else { |
420 | 189 | "invalid var_u32: integer too large" |
421 | | }; |
422 | | // The continuation bit or unused bits are set. |
423 | 1.20k | return Err(BinaryReaderError::new(msg, self.original_position() - 1)); |
424 | 40.7M | } |
425 | 40.7M | shift += 7; |
426 | 40.7M | if (byte & 0x80) == 0 { |
427 | 29.9M | break; |
428 | 10.8M | } |
429 | | } |
430 | 29.9M | Ok(result) |
431 | 29.9M | } |
432 | | |
433 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
434 | | /// length integer as a `u64`. |
435 | | /// |
436 | | /// # Errors |
437 | | /// |
438 | | /// If `BinaryReader` has less than one or up to eight bytes remaining, or |
439 | | /// the integer is larger than 64 bits. |
440 | | #[inline] |
441 | 4.81M | pub fn read_var_u64(&mut self) -> Result<u64> { |
442 | | // Optimization for single byte u64. |
443 | 4.81M | let byte = u64::from(self.read_u8()?); |
444 | 4.81M | if (byte & 0x80) == 0 { |
445 | 1.92M | Ok(byte) |
446 | | } else { |
447 | 2.89M | self.read_var_u64_big(byte) |
448 | | } |
449 | 4.81M | } |
450 | | |
451 | 2.89M | fn read_var_u64_big(&mut self, byte: u64) -> Result<u64> { |
452 | 2.89M | let mut result = byte & 0x7F; |
453 | 2.89M | let mut shift = 7; |
454 | | loop { |
455 | 11.1M | let byte = u64::from(self.read_u8()?); |
456 | 11.1M | result |= (byte & 0x7F) << shift; |
457 | 11.1M | if shift >= 57 && (byte >> (64 - shift)) != 0 { |
458 | 22 | let msg = if byte & 0x80 != 0 { |
459 | 15 | "invalid var_u64: integer representation too long" |
460 | | } else { |
461 | 7 | "invalid var_u64: integer too large" |
462 | | }; |
463 | | // The continuation bit or unused bits are set. |
464 | 22 | return Err(BinaryReaderError::new(msg, self.original_position() - 1)); |
465 | 11.1M | } |
466 | 11.1M | shift += 7; |
467 | 11.1M | if (byte & 0x80) == 0 { |
468 | 2.89M | break; |
469 | 8.22M | } |
470 | | } |
471 | 2.89M | Ok(result) |
472 | 2.89M | } |
473 | | |
474 | | /// Executes `f` to skip some data in this binary reader and then returns a |
475 | | /// reader which will read the skipped data. |
476 | 18.3M | pub fn skip(&mut self, f: impl FnOnce(&mut Self) -> Result<()>) -> Result<Self> { |
477 | 18.3M | let start = self.position; |
478 | 18.3M | f(self)?; |
479 | 18.2M | Ok(BinaryReader::new_with_offset( |
480 | 18.2M | &self.buffer[start..self.position], |
481 | 18.2M | self.original_offset + start, |
482 | 18.2M | )) |
483 | 18.3M | } <wasmparser::binary_reader::BinaryReader>::skip::<<wasmparser::readers::core::names::IndirectNaming as wasmparser::readers::FromReader>::from_reader::{closure#0}>Line | Count | Source | 476 | 122k | pub fn skip(&mut self, f: impl FnOnce(&mut Self) -> Result<()>) -> Result<Self> { | 477 | 122k | let start = self.position; | 478 | 122k | f(self)?; | 479 | 83.7k | Ok(BinaryReader::new_with_offset( | 480 | 83.7k | &self.buffer[start..self.position], | 481 | 83.7k | self.original_offset + start, | 482 | 83.7k | )) | 483 | 122k | } |
<wasmparser::binary_reader::BinaryReader>::skip::<<wasmparser::readers::core::init::ConstExpr as wasmparser::readers::FromReader>::from_reader::{closure#0}>Line | Count | Source | 476 | 17.4M | pub fn skip(&mut self, f: impl FnOnce(&mut Self) -> Result<()>) -> Result<Self> { | 477 | 17.4M | let start = self.position; | 478 | 17.4M | f(self)?; | 479 | 17.4M | Ok(BinaryReader::new_with_offset( | 480 | 17.4M | &self.buffer[start..self.position], | 481 | 17.4M | self.original_offset + start, | 482 | 17.4M | )) | 483 | 17.4M | } |
<wasmparser::binary_reader::BinaryReader>::skip::<<wasmparser::readers::core::producers::ProducersField as wasmparser::readers::FromReader>::from_reader::{closure#0}>Line | Count | Source | 476 | 37.5k | pub fn skip(&mut self, f: impl FnOnce(&mut Self) -> Result<()>) -> Result<Self> { | 477 | 37.5k | let start = self.position; | 478 | 37.5k | f(self)?; | 479 | 37.5k | Ok(BinaryReader::new_with_offset( | 480 | 37.5k | &self.buffer[start..self.position], | 481 | 37.5k | self.original_offset + start, | 482 | 37.5k | )) | 483 | 37.5k | } |
<wasmparser::binary_reader::BinaryReader>::skip::<<wasmparser::readers::core::elements::Element as wasmparser::readers::FromReader>::from_reader::{closure#0}>Line | Count | Source | 476 | 666k | pub fn skip(&mut self, f: impl FnOnce(&mut Self) -> Result<()>) -> Result<Self> { | 477 | 666k | let start = self.position; | 478 | 666k | f(self)?; | 479 | 664k | Ok(BinaryReader::new_with_offset( | 480 | 664k | &self.buffer[start..self.position], | 481 | 664k | self.original_offset + start, | 482 | 664k | )) | 483 | 666k | } |
|
484 | | |
485 | | /// Advances the `BinaryReader` past a WebAssembly string. This method does |
486 | | /// not perform any utf-8 validation. |
487 | | /// # Errors |
488 | | /// If `BinaryReader` has less than four bytes, the string's length exceeds |
489 | | /// the remaining bytes, or the string length |
490 | | /// exceeds `limits::MAX_WASM_STRING_SIZE`. |
491 | 573k | pub fn skip_string(&mut self) -> Result<()> { |
492 | 573k | let len = self.read_var_u32()? as usize; |
493 | 571k | if len > MAX_WASM_STRING_SIZE { |
494 | 178 | return Err(BinaryReaderError::new( |
495 | 178 | "string size out of bounds", |
496 | 178 | self.original_position() - 1, |
497 | 178 | )); |
498 | 571k | } |
499 | 571k | self.ensure_has_bytes(len)?; |
500 | 536k | self.position += len; |
501 | 536k | Ok(()) |
502 | 573k | } |
503 | | |
504 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
505 | | /// length integer as a `i32`. |
506 | | /// # Errors |
507 | | /// If `BinaryReader` has less than one or up to four bytes remaining, or |
508 | | /// the integer is larger than 32 bits. |
509 | | #[inline] |
510 | 6.51M | pub fn read_var_i32(&mut self) -> Result<i32> { |
511 | | // Optimization for single byte i32. |
512 | 6.51M | let byte = self.read_u8()?; |
513 | 6.51M | if (byte & 0x80) == 0 { |
514 | 2.79M | Ok(((byte as i32) << 25) >> 25) |
515 | | } else { |
516 | 3.72M | self.read_var_i32_big(byte) |
517 | | } |
518 | 6.51M | } <wasmparser::binary_reader::BinaryReader>::read_var_i32 Line | Count | Source | 510 | 2.30M | pub fn read_var_i32(&mut self) -> Result<i32> { | 511 | | // Optimization for single byte i32. | 512 | 2.30M | let byte = self.read_u8()?; | 513 | 2.30M | if (byte & 0x80) == 0 { | 514 | 852k | Ok(((byte as i32) << 25) >> 25) | 515 | | } else { | 516 | 1.45M | self.read_var_i32_big(byte) | 517 | | } | 518 | 2.30M | } |
<wasmparser::binary_reader::BinaryReader>::read_var_i32 Line | Count | Source | 510 | 4.21M | pub fn read_var_i32(&mut self) -> Result<i32> { | 511 | | // Optimization for single byte i32. | 512 | 4.21M | let byte = self.read_u8()?; | 513 | 4.21M | if (byte & 0x80) == 0 { | 514 | 1.94M | Ok(((byte as i32) << 25) >> 25) | 515 | | } else { | 516 | 2.26M | self.read_var_i32_big(byte) | 517 | | } | 518 | 4.21M | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::read_var_i32 |
519 | | |
520 | 3.72M | fn read_var_i32_big(&mut self, byte: u8) -> Result<i32> { |
521 | 3.72M | let mut result = (byte & 0x7F) as i32; |
522 | 3.72M | let mut shift = 7; |
523 | | loop { |
524 | 13.8M | let byte = self.read_u8()?; |
525 | 13.8M | result |= ((byte & 0x7F) as i32) << shift; |
526 | 13.8M | if shift >= 25 { |
527 | 3.18M | let continuation_bit = (byte & 0x80) != 0; |
528 | 3.18M | let sign_and_unused_bit = (byte << 1) as i8 >> (32 - shift); |
529 | 3.18M | if continuation_bit || (sign_and_unused_bit != 0 && sign_and_unused_bit != -1) { |
530 | 10 | let msg = if continuation_bit { |
531 | 8 | "invalid var_i32: integer representation too long" |
532 | | } else { |
533 | 2 | "invalid var_i32: integer too large" |
534 | | }; |
535 | 10 | return Err(BinaryReaderError::new(msg, self.original_position() - 1)); |
536 | 3.18M | } |
537 | 3.18M | return Ok(result); |
538 | 10.6M | } |
539 | 10.6M | shift += 7; |
540 | 10.6M | if (byte & 0x80) == 0 { |
541 | 531k | break; |
542 | 10.1M | } |
543 | | } |
544 | 531k | let ashift = 32 - shift; |
545 | 531k | Ok((result << ashift) >> ashift) |
546 | 3.72M | } |
547 | | |
548 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
549 | | /// length integer as a signed 33 bit integer, returned as a `i64`. |
550 | | /// # Errors |
551 | | /// If `BinaryReader` has less than one or up to five bytes remaining, or |
552 | | /// the integer is larger than 33 bits. |
553 | 18.9M | pub fn read_var_s33(&mut self) -> Result<i64> { |
554 | | // Optimization for single byte. |
555 | 18.9M | let byte = self.read_u8()?; |
556 | 18.9M | if (byte & 0x80) == 0 { |
557 | 12.8M | return Ok(((byte as i8) << 1) as i64 >> 1); |
558 | 6.11M | } |
559 | 6.11M | |
560 | 6.11M | let mut result = (byte & 0x7F) as i64; |
561 | 6.11M | let mut shift = 7; |
562 | | loop { |
563 | 6.20M | let byte = self.read_u8()?; |
564 | 6.20M | result |= ((byte & 0x7F) as i64) << shift; |
565 | 6.20M | if shift >= 25 { |
566 | 783 | let continuation_bit = (byte & 0x80) != 0; |
567 | 783 | let sign_and_unused_bit = (byte << 1) as i8 >> (33 - shift); |
568 | 783 | if continuation_bit || (sign_and_unused_bit != 0 && sign_and_unused_bit != -1) { |
569 | 39 | return Err(BinaryReaderError::new( |
570 | 39 | "invalid var_s33: integer representation too long", |
571 | 39 | self.original_position() - 1, |
572 | 39 | )); |
573 | 744 | } |
574 | 744 | return Ok(result); |
575 | 6.20M | } |
576 | 6.20M | shift += 7; |
577 | 6.20M | if (byte & 0x80) == 0 { |
578 | 6.11M | break; |
579 | 94.9k | } |
580 | | } |
581 | 6.11M | let ashift = 64 - shift; |
582 | 6.11M | Ok((result << ashift) >> ashift) |
583 | 18.9M | } |
584 | | |
585 | | /// Advances the `BinaryReader` up to eight bytes to parse a variable |
586 | | /// length integer as a 64 bit integer, returned as a `i64`. |
587 | | /// # Errors |
588 | | /// If `BinaryReader` has less than one or up to eight bytes remaining, or |
589 | | /// the integer is larger than 64 bits. |
590 | 4.33M | pub fn read_var_i64(&mut self) -> Result<i64> { |
591 | 4.33M | let mut result: i64 = 0; |
592 | 4.33M | let mut shift = 0; |
593 | | loop { |
594 | 25.2M | let byte = self.read_u8()?; |
595 | 25.2M | result |= i64::from(byte & 0x7F) << shift; |
596 | 25.2M | if shift >= 57 { |
597 | 1.23M | let continuation_bit = (byte & 0x80) != 0; |
598 | 1.23M | let sign_and_unused_bit = ((byte << 1) as i8) >> (64 - shift); |
599 | 1.23M | if continuation_bit || (sign_and_unused_bit != 0 && sign_and_unused_bit != -1) { |
600 | 10 | let msg = if continuation_bit { |
601 | 7 | "invalid var_i64: integer representation too long" |
602 | | } else { |
603 | 3 | "invalid var_i64: integer too large" |
604 | | }; |
605 | 10 | return Err(BinaryReaderError::new(msg, self.original_position() - 1)); |
606 | 1.23M | } |
607 | 1.23M | return Ok(result); |
608 | 23.9M | } |
609 | 23.9M | shift += 7; |
610 | 23.9M | if (byte & 0x80) == 0 { |
611 | 3.09M | break; |
612 | 20.8M | } |
613 | | } |
614 | 3.09M | let ashift = 64 - shift; |
615 | 3.09M | Ok((result << ashift) >> ashift) |
616 | 4.33M | } |
617 | | |
618 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
619 | | /// length integer as a 32 bit floating point integer, returned as `Ieee32`. |
620 | | /// # Errors |
621 | | /// If `BinaryReader` has less than one or up to four bytes remaining, or |
622 | | /// the integer is larger than 32 bits. |
623 | 7.62M | pub fn read_f32(&mut self) -> Result<Ieee32> { |
624 | 7.62M | let value = self.read_u32()?; |
625 | 7.62M | Ok(Ieee32(value)) |
626 | 7.62M | } |
627 | | |
628 | | /// Advances the `BinaryReader` up to four bytes to parse a variable |
629 | | /// length integer as a 32 bit floating point integer, returned as `Ieee32`. |
630 | | /// # Errors |
631 | | /// If `BinaryReader` has less than one or up to four bytes remaining, or |
632 | | /// the integer is larger than 32 bits. |
633 | 7.17M | pub fn read_f64(&mut self) -> Result<Ieee64> { |
634 | 7.17M | let value = self.read_u64()?; |
635 | 7.17M | Ok(Ieee64(value)) |
636 | 7.17M | } |
637 | | |
638 | | /// Reads a WebAssembly string from the module. |
639 | | /// # Errors |
640 | | /// If `BinaryReader` has less than up to four bytes remaining, the string's |
641 | | /// length exceeds the remaining bytes, the string's length exceeds |
642 | | /// `limits::MAX_WASM_STRING_SIZE`, or the string contains invalid utf-8. |
643 | 53.4M | pub fn read_string(&mut self) -> Result<&'a str> { |
644 | 53.4M | let len = self.read_var_u32()? as usize; |
645 | 53.4M | if len > MAX_WASM_STRING_SIZE { |
646 | 569 | return Err(BinaryReaderError::new( |
647 | 569 | "string size out of bounds", |
648 | 569 | self.original_position() - 1, |
649 | 569 | )); |
650 | 53.4M | } |
651 | 53.4M | let bytes = self.read_bytes(len)?; |
652 | 53.4M | str::from_utf8(bytes).map_err(|_| { |
653 | 876 | BinaryReaderError::new("invalid UTF-8 encoding", self.original_position() - 1) |
654 | 53.4M | }) |
655 | 53.4M | } |
656 | | |
657 | | #[cold] |
658 | 708 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { |
659 | 708 | Err(Self::invalid_leading_byte_error( |
660 | 708 | byte, |
661 | 708 | desc, |
662 | 708 | self.original_position() - 1, |
663 | 708 | )) |
664 | 708 | } <wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::core::types::Type> Line | Count | Source | 658 | 66 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 66 | Err(Self::invalid_leading_byte_error( | 660 | 66 | byte, | 661 | 66 | desc, | 662 | 66 | self.original_position() - 1, | 663 | 66 | )) | 664 | 66 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::imports::TypeBounds> Line | Count | Source | 658 | 2 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 2 | Err(Self::invalid_leading_byte_error( | 660 | 2 | byte, | 661 | 2 | desc, | 662 | 2 | self.original_position() - 1, | 663 | 2 | )) | 664 | 2 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::ComponentDefinedType> Line | Count | Source | 658 | 298 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 298 | Err(Self::invalid_leading_byte_error( | 660 | 298 | byte, | 661 | 298 | desc, | 662 | 298 | self.original_position() - 1, | 663 | 298 | )) | 664 | 298 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::canonicals::CanonicalOption> Line | Count | Source | 658 | 23 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 23 | Err(Self::invalid_leading_byte_error( | 660 | 23 | byte, | 661 | 23 | desc, | 662 | 23 | self.original_position() - 1, | 663 | 23 | )) | 664 | 23 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::VariantCase> Line | Count | Source | 658 | 7 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 7 | Err(Self::invalid_leading_byte_error( | 660 | 7 | byte, | 661 | 7 | desc, | 662 | 7 | self.original_position() - 1, | 663 | 7 | )) | 664 | 7 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::canonicals::CanonicalFunction> Line | Count | Source | 658 | 60 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 60 | Err(Self::invalid_leading_byte_error( | 660 | 60 | byte, | 661 | 60 | desc, | 662 | 60 | self.original_position() - 1, | 663 | 60 | )) | 664 | 60 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::InstanceTypeDeclaration> Line | Count | Source | 658 | 60 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 60 | Err(Self::invalid_leading_byte_error( | 660 | 60 | byte, | 661 | 60 | desc, | 662 | 60 | self.original_position() - 1, | 663 | 60 | )) | 664 | 60 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::ComponentFuncResult> Line | Count | Source | 658 | 5 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 5 | Err(Self::invalid_leading_byte_error( | 660 | 5 | byte, | 661 | 5 | desc, | 662 | 5 | self.original_position() - 1, | 663 | 5 | )) | 664 | 5 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::instances::ComponentInstance> Line | Count | Source | 658 | 29 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 29 | Err(Self::invalid_leading_byte_error( | 660 | 29 | byte, | 661 | 29 | desc, | 662 | 29 | self.original_position() - 1, | 663 | 29 | )) | 664 | 29 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::aliases::ComponentAlias> Line | Count | Source | 658 | 24 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 24 | Err(Self::invalid_leading_byte_error( | 660 | 24 | byte, | 661 | 24 | desc, | 662 | 24 | self.original_position() - 1, | 663 | 24 | )) | 664 | 24 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::instances::Instance> Line | Count | Source | 658 | 23 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 23 | Err(Self::invalid_leading_byte_error( | 660 | 23 | byte, | 661 | 23 | desc, | 662 | 23 | self.original_position() - 1, | 663 | 23 | )) | 664 | 23 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::CoreType> Line | Count | Source | 658 | 69 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 69 | Err(Self::invalid_leading_byte_error( | 660 | 69 | byte, | 661 | 69 | desc, | 662 | 69 | self.original_position() - 1, | 663 | 69 | )) | 664 | 69 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::instances::InstantiationArgKind> Line | Count | Source | 658 | 13 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 13 | Err(Self::invalid_leading_byte_error( | 660 | 13 | byte, | 661 | 13 | desc, | 662 | 13 | self.original_position() - 1, | 663 | 13 | )) | 664 | 13 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<core::option::Option<wasmparser::readers::component::types::ComponentValType>> Line | Count | Source | 658 | 19 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 19 | Err(Self::invalid_leading_byte_error( | 660 | 19 | byte, | 661 | 19 | desc, | 662 | 19 | self.original_position() - 1, | 663 | 19 | )) | 664 | 19 | } |
<wasmparser::binary_reader::BinaryReader>::invalid_leading_byte::<wasmparser::readers::component::types::ModuleTypeDeclaration> Line | Count | Source | 658 | 10 | pub(crate) fn invalid_leading_byte<T>(&self, byte: u8, desc: &str) -> Result<T> { | 659 | 10 | Err(Self::invalid_leading_byte_error( | 660 | 10 | byte, | 661 | 10 | desc, | 662 | 10 | self.original_position() - 1, | 663 | 10 | )) | 664 | 10 | } |
|
665 | | |
666 | 923 | pub(crate) fn invalid_leading_byte_error( |
667 | 923 | byte: u8, |
668 | 923 | desc: &str, |
669 | 923 | offset: usize, |
670 | 923 | ) -> BinaryReaderError { |
671 | 923 | format_err!(offset, "invalid leading byte (0x{byte:x}) for {desc}") |
672 | 923 | } |
673 | | |
674 | | pub(crate) fn peek(&self) -> Result<u8> { |
675 | 147M | self.ensure_has_byte()?; |
676 | 147M | Ok(self.buffer[self.position]) |
677 | 147M | } |
678 | | |
679 | 10.2M | fn read_block_type(&mut self) -> Result<BlockType> { |
680 | 10.2M | let b = self.peek()?; |
681 | | |
682 | | // Check for empty block |
683 | 10.2M | if b == 0x40 { |
684 | 4.03M | self.position += 1; |
685 | 4.03M | return Ok(BlockType::Empty); |
686 | 6.23M | } |
687 | 6.23M | |
688 | 6.23M | // Check for a block type of form [] -> [t]. |
689 | 6.23M | if ValType::is_valtype_byte(b) { |
690 | 3.69M | return Ok(BlockType::Type(self.read()?)); |
691 | 2.53M | } |
692 | | |
693 | | // Not empty or a singular type, so read the function type index |
694 | 2.53M | let idx = self.read_var_s33()?; |
695 | 2.53M | match u32::try_from(idx) { |
696 | 2.53M | Ok(idx) => Ok(BlockType::FuncType(idx)), |
697 | | Err(_) => { |
698 | 143 | return Err(BinaryReaderError::new( |
699 | 143 | "invalid function type", |
700 | 143 | self.original_position(), |
701 | 143 | )); |
702 | | } |
703 | | } |
704 | 10.2M | } |
705 | | |
706 | | /// Visit the next available operator with the specified [`VisitOperator`] instance. |
707 | | /// |
708 | | /// Note that this does not implicitly propagate any additional information such as instruction |
709 | | /// offsets. In order to do so, consider storing such data within the visitor before visiting. |
710 | | /// |
711 | | /// # Errors |
712 | | /// |
713 | | /// If `BinaryReader` has less bytes remaining than required to parse the `Operator`. |
714 | | /// |
715 | | /// # Examples |
716 | | /// |
717 | | /// Store an offset for use in diagnostics or any other purposes: |
718 | | /// |
719 | | /// ``` |
720 | | /// # use wasmparser::{BinaryReader, VisitOperator, Result, for_each_operator}; |
721 | | /// |
722 | | /// pub fn dump(mut reader: BinaryReader) -> Result<()> { |
723 | | /// let mut visitor = Dumper { offset: 0 }; |
724 | | /// while !reader.eof() { |
725 | | /// visitor.offset = reader.original_position(); |
726 | | /// reader.visit_operator(&mut visitor)?; |
727 | | /// } |
728 | | /// Ok(()) |
729 | | /// } |
730 | | /// |
731 | | /// struct Dumper { |
732 | | /// offset: usize |
733 | | /// } |
734 | | /// |
735 | | /// macro_rules! define_visit_operator { |
736 | | /// ($(@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident)*) => { |
737 | | /// $( |
738 | | /// fn $visit(&mut self $($(,$arg: $argty)*)?) -> Self::Output { |
739 | | /// println!("{}: {}", self.offset, stringify!($visit)); |
740 | | /// } |
741 | | /// )* |
742 | | /// } |
743 | | /// } |
744 | | /// |
745 | | /// impl<'a> VisitOperator<'a> for Dumper { |
746 | | /// type Output = (); |
747 | | /// for_each_operator!(define_visit_operator); |
748 | | /// } |
749 | | /// |
750 | | /// ``` |
751 | 315M | pub fn visit_operator<T>(&mut self, visitor: &mut T) -> Result<<T as VisitOperator<'a>>::Output> |
752 | 315M | where |
753 | 315M | T: VisitOperator<'a>, |
754 | 315M | { |
755 | 315M | let pos = self.original_position(); |
756 | 315M | let code = self.read_u8()? as u8; |
757 | 315M | Ok(match code { |
758 | 16.8M | 0x00 => visitor.visit_unreachable(), |
759 | 2.51M | 0x01 => visitor.visit_nop(), |
760 | 5.00M | 0x02 => visitor.visit_block(self.read_block_type()?), |
761 | 1.86M | 0x03 => visitor.visit_loop(self.read_block_type()?), |
762 | 661k | 0x04 => visitor.visit_if(self.read_block_type()?), |
763 | 383k | 0x05 => visitor.visit_else(), |
764 | 2.73M | 0x06 => visitor.visit_try(self.read_block_type()?), |
765 | 32.3k | 0x07 => visitor.visit_catch(self.read_var_u32()?), |
766 | 3.11M | 0x08 => visitor.visit_throw(self.read_var_u32()?), |
767 | 198k | 0x09 => visitor.visit_rethrow(self.read_var_u32()?), |
768 | 62.1M | 0x0b => visitor.visit_end(), |
769 | 4.50M | 0x0c => visitor.visit_br(self.read_var_u32()?), |
770 | 594k | 0x0d => visitor.visit_br_if(self.read_var_u32()?), |
771 | 140k | 0x0e => visitor.visit_br_table(self.read_br_table()?), |
772 | 299k | 0x0f => visitor.visit_return(), |
773 | 1.49M | 0x10 => visitor.visit_call(self.read_var_u32()?), |
774 | | 0x11 => { |
775 | 316k | let index = self.read_var_u32()?; |
776 | 316k | let (table_byte, table_index) = self.read_first_byte_and_var_u32()?; |
777 | 316k | visitor.visit_call_indirect(index, table_index, table_byte) |
778 | | } |
779 | 238k | 0x12 => visitor.visit_return_call(self.read_var_u32()?), |
780 | 44.8k | 0x13 => visitor.visit_return_call_indirect(self.read_var_u32()?, self.read_var_u32()?), |
781 | 4.65k | 0x14 => visitor.visit_call_ref(self.read()?), |
782 | 6.98k | 0x15 => visitor.visit_return_call_ref(self.read()?), |
783 | 73.1k | 0x18 => visitor.visit_delegate(self.read_var_u32()?), |
784 | 96.6k | 0x19 => visitor.visit_catch_all(), |
785 | 27.3M | 0x1a => visitor.visit_drop(), |
786 | 3.26M | 0x1b => visitor.visit_select(), |
787 | | 0x1c => { |
788 | 17.1k | let results = self.read_var_u32()?; |
789 | 17.1k | if results != 1 { |
790 | 56 | return Err(BinaryReaderError::new( |
791 | 56 | "invalid result arity", |
792 | 56 | self.position, |
793 | 56 | )); |
794 | 17.1k | } |
795 | 17.1k | visitor.visit_typed_select(self.read()?) |
796 | | } |
797 | | |
798 | 11.9M | 0x20 => visitor.visit_local_get(self.read_var_u32()?), |
799 | 1.41M | 0x21 => visitor.visit_local_set(self.read_var_u32()?), |
800 | 5.71M | 0x22 => visitor.visit_local_tee(self.read_var_u32()?), |
801 | 1.35M | 0x23 => visitor.visit_global_get(self.read_var_u32()?), |
802 | 515k | 0x24 => visitor.visit_global_set(self.read_var_u32()?), |
803 | 90.6k | 0x25 => visitor.visit_table_get(self.read_var_u32()?), |
804 | 26.4k | 0x26 => visitor.visit_table_set(self.read_var_u32()?), |
805 | | |
806 | 527k | 0x28 => visitor.visit_i32_load(self.read_memarg(2)?), |
807 | 452k | 0x29 => visitor.visit_i64_load(self.read_memarg(3)?), |
808 | 198k | 0x2a => visitor.visit_f32_load(self.read_memarg(2)?), |
809 | 181k | 0x2b => visitor.visit_f64_load(self.read_memarg(3)?), |
810 | 201k | 0x2c => visitor.visit_i32_load8_s(self.read_memarg(0)?), |
811 | 318k | 0x2d => visitor.visit_i32_load8_u(self.read_memarg(0)?), |
812 | 552k | 0x2e => visitor.visit_i32_load16_s(self.read_memarg(1)?), |
813 | 207k | 0x2f => visitor.visit_i32_load16_u(self.read_memarg(1)?), |
814 | 324k | 0x30 => visitor.visit_i64_load8_s(self.read_memarg(0)?), |
815 | 324k | 0x31 => visitor.visit_i64_load8_u(self.read_memarg(0)?), |
816 | 470k | 0x32 => visitor.visit_i64_load16_s(self.read_memarg(1)?), |
817 | 225k | 0x33 => visitor.visit_i64_load16_u(self.read_memarg(1)?), |
818 | 274k | 0x34 => visitor.visit_i64_load32_s(self.read_memarg(2)?), |
819 | 166k | 0x35 => visitor.visit_i64_load32_u(self.read_memarg(2)?), |
820 | 61.7k | 0x36 => visitor.visit_i32_store(self.read_memarg(2)?), |
821 | 123k | 0x37 => visitor.visit_i64_store(self.read_memarg(3)?), |
822 | 19.3k | 0x38 => visitor.visit_f32_store(self.read_memarg(2)?), |
823 | 13.6k | 0x39 => visitor.visit_f64_store(self.read_memarg(3)?), |
824 | 36.4k | 0x3a => visitor.visit_i32_store8(self.read_memarg(0)?), |
825 | 30.3k | 0x3b => visitor.visit_i32_store16(self.read_memarg(1)?), |
826 | 23.2k | 0x3c => visitor.visit_i64_store8(self.read_memarg(0)?), |
827 | 42.1k | 0x3d => visitor.visit_i64_store16(self.read_memarg(1)?), |
828 | 40.7k | 0x3e => visitor.visit_i64_store32(self.read_memarg(2)?), |
829 | | 0x3f => { |
830 | 1.63M | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; |
831 | 1.63M | visitor.visit_memory_size(mem, mem_byte) |
832 | | } |
833 | | 0x40 => { |
834 | 965k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; |
835 | 965k | visitor.visit_memory_grow(mem, mem_byte) |
836 | | } |
837 | | |
838 | 6.51M | 0x41 => visitor.visit_i32_const(self.read_var_i32()?), |
839 | 4.33M | 0x42 => visitor.visit_i64_const(self.read_var_i64()?), |
840 | 7.62M | 0x43 => visitor.visit_f32_const(self.read_f32()?), |
841 | 7.17M | 0x44 => visitor.visit_f64_const(self.read_f64()?), |
842 | | |
843 | 889k | 0x45 => visitor.visit_i32_eqz(), |
844 | 79.4k | 0x46 => visitor.visit_i32_eq(), |
845 | 70.8k | 0x47 => visitor.visit_i32_ne(), |
846 | 106k | 0x48 => visitor.visit_i32_lt_s(), |
847 | 56.5k | 0x49 => visitor.visit_i32_lt_u(), |
848 | 223k | 0x4a => visitor.visit_i32_gt_s(), |
849 | 72.7k | 0x4b => visitor.visit_i32_gt_u(), |
850 | 129k | 0x4c => visitor.visit_i32_le_s(), |
851 | 129k | 0x4d => visitor.visit_i32_le_u(), |
852 | 273k | 0x4e => visitor.visit_i32_ge_s(), |
853 | 58.3k | 0x4f => visitor.visit_i32_ge_u(), |
854 | 540k | 0x50 => visitor.visit_i64_eqz(), |
855 | 23.5k | 0x51 => visitor.visit_i64_eq(), |
856 | 55.2k | 0x52 => visitor.visit_i64_ne(), |
857 | 61.4k | 0x53 => visitor.visit_i64_lt_s(), |
858 | 66.2k | 0x54 => visitor.visit_i64_lt_u(), |
859 | 35.0k | 0x55 => visitor.visit_i64_gt_s(), |
860 | 42.4k | 0x56 => visitor.visit_i64_gt_u(), |
861 | 110k | 0x57 => visitor.visit_i64_le_s(), |
862 | 163k | 0x58 => visitor.visit_i64_le_u(), |
863 | 72.7k | 0x59 => visitor.visit_i64_ge_s(), |
864 | 34.1k | 0x5a => visitor.visit_i64_ge_u(), |
865 | 1.38M | 0x5b => visitor.visit_f32_eq(), |
866 | 76.5k | 0x5c => visitor.visit_f32_ne(), |
867 | 308k | 0x5d => visitor.visit_f32_lt(), |
868 | 116k | 0x5e => visitor.visit_f32_gt(), |
869 | 29.2k | 0x5f => visitor.visit_f32_le(), |
870 | 50.4k | 0x60 => visitor.visit_f32_ge(), |
871 | 1.86M | 0x61 => visitor.visit_f64_eq(), |
872 | 74.0k | 0x62 => visitor.visit_f64_ne(), |
873 | 73.8k | 0x63 => visitor.visit_f64_lt(), |
874 | 54.5k | 0x64 => visitor.visit_f64_gt(), |
875 | 231k | 0x65 => visitor.visit_f64_le(), |
876 | 34.3k | 0x66 => visitor.visit_f64_ge(), |
877 | 943k | 0x67 => visitor.visit_i32_clz(), |
878 | 564k | 0x68 => visitor.visit_i32_ctz(), |
879 | 750k | 0x69 => visitor.visit_i32_popcnt(), |
880 | 1.61M | 0x6a => visitor.visit_i32_add(), |
881 | 48.3k | 0x6b => visitor.visit_i32_sub(), |
882 | 119k | 0x6c => visitor.visit_i32_mul(), |
883 | 145k | 0x6d => visitor.visit_i32_div_s(), |
884 | 118k | 0x6e => visitor.visit_i32_div_u(), |
885 | 88.1k | 0x6f => visitor.visit_i32_rem_s(), |
886 | 98.1k | 0x70 => visitor.visit_i32_rem_u(), |
887 | 42.7k | 0x71 => visitor.visit_i32_and(), |
888 | 214k | 0x72 => visitor.visit_i32_or(), |
889 | 136k | 0x73 => visitor.visit_i32_xor(), |
890 | 48.4k | 0x74 => visitor.visit_i32_shl(), |
891 | 86.2k | 0x75 => visitor.visit_i32_shr_s(), |
892 | 119k | 0x76 => visitor.visit_i32_shr_u(), |
893 | 31.2k | 0x77 => visitor.visit_i32_rotl(), |
894 | 560k | 0x78 => visitor.visit_i32_rotr(), |
895 | 555k | 0x79 => visitor.visit_i64_clz(), |
896 | 592k | 0x7a => visitor.visit_i64_ctz(), |
897 | 589k | 0x7b => visitor.visit_i64_popcnt(), |
898 | 183k | 0x7c => visitor.visit_i64_add(), |
899 | 49.5k | 0x7d => visitor.visit_i64_sub(), |
900 | 142k | 0x7e => visitor.visit_i64_mul(), |
901 | 108k | 0x7f => visitor.visit_i64_div_s(), |
902 | 203k | 0x80 => visitor.visit_i64_div_u(), |
903 | 81.5k | 0x81 => visitor.visit_i64_rem_s(), |
904 | 20.9k | 0x82 => visitor.visit_i64_rem_u(), |
905 | 28.7k | 0x83 => visitor.visit_i64_and(), |
906 | 45.1k | 0x84 => visitor.visit_i64_or(), |
907 | 19.3k | 0x85 => visitor.visit_i64_xor(), |
908 | 22.0k | 0x86 => visitor.visit_i64_shl(), |
909 | 22.6k | 0x87 => visitor.visit_i64_shr_s(), |
910 | 55.1k | 0x88 => visitor.visit_i64_shr_u(), |
911 | 14.6k | 0x89 => visitor.visit_i64_rotl(), |
912 | 18.3k | 0x8a => visitor.visit_i64_rotr(), |
913 | 536k | 0x8b => visitor.visit_f32_abs(), |
914 | 558k | 0x8c => visitor.visit_f32_neg(), |
915 | 345k | 0x8d => visitor.visit_f32_ceil(), |
916 | 257k | 0x8e => visitor.visit_f32_floor(), |
917 | 258k | 0x8f => visitor.visit_f32_trunc(), |
918 | 314k | 0x90 => visitor.visit_f32_nearest(), |
919 | 286k | 0x91 => visitor.visit_f32_sqrt(), |
920 | 38.3k | 0x92 => visitor.visit_f32_add(), |
921 | 50.1k | 0x93 => visitor.visit_f32_sub(), |
922 | 69.5k | 0x94 => visitor.visit_f32_mul(), |
923 | 39.9k | 0x95 => visitor.visit_f32_div(), |
924 | 13.8k | 0x96 => visitor.visit_f32_min(), |
925 | 33.5k | 0x97 => visitor.visit_f32_max(), |
926 | 79.9k | 0x98 => visitor.visit_f32_copysign(), |
927 | 414k | 0x99 => visitor.visit_f64_abs(), |
928 | 688k | 0x9a => visitor.visit_f64_neg(), |
929 | 495k | 0x9b => visitor.visit_f64_ceil(), |
930 | 316k | 0x9c => visitor.visit_f64_floor(), |
931 | 525k | 0x9d => visitor.visit_f64_trunc(), |
932 | 573k | 0x9e => visitor.visit_f64_nearest(), |
933 | 267k | 0x9f => visitor.visit_f64_sqrt(), |
934 | 38.5k | 0xa0 => visitor.visit_f64_add(), |
935 | 52.3k | 0xa1 => visitor.visit_f64_sub(), |
936 | 54.2k | 0xa2 => visitor.visit_f64_mul(), |
937 | 24.1k | 0xa3 => visitor.visit_f64_div(), |
938 | 22.0k | 0xa4 => visitor.visit_f64_min(), |
939 | 16.6k | 0xa5 => visitor.visit_f64_max(), |
940 | 46.7k | 0xa6 => visitor.visit_f64_copysign(), |
941 | 275k | 0xa7 => visitor.visit_i32_wrap_i64(), |
942 | 175k | 0xa8 => visitor.visit_i32_trunc_f32_s(), |
943 | 151k | 0xa9 => visitor.visit_i32_trunc_f32_u(), |
944 | 128k | 0xaa => visitor.visit_i32_trunc_f64_s(), |
945 | 164k | 0xab => visitor.visit_i32_trunc_f64_u(), |
946 | 229k | 0xac => visitor.visit_i64_extend_i32_s(), |
947 | 260k | 0xad => visitor.visit_i64_extend_i32_u(), |
948 | 141k | 0xae => visitor.visit_i64_trunc_f32_s(), |
949 | 179k | 0xaf => visitor.visit_i64_trunc_f32_u(), |
950 | 161k | 0xb0 => visitor.visit_i64_trunc_f64_s(), |
951 | 202k | 0xb1 => visitor.visit_i64_trunc_f64_u(), |
952 | 262k | 0xb2 => visitor.visit_f32_convert_i32_s(), |
953 | 568k | 0xb3 => visitor.visit_f32_convert_i32_u(), |
954 | 311k | 0xb4 => visitor.visit_f32_convert_i64_s(), |
955 | 163k | 0xb5 => visitor.visit_f32_convert_i64_u(), |
956 | 224k | 0xb6 => visitor.visit_f32_demote_f64(), |
957 | 318k | 0xb7 => visitor.visit_f64_convert_i32_s(), |
958 | 465k | 0xb8 => visitor.visit_f64_convert_i32_u(), |
959 | 128k | 0xb9 => visitor.visit_f64_convert_i64_s(), |
960 | 652k | 0xba => visitor.visit_f64_convert_i64_u(), |
961 | 262k | 0xbb => visitor.visit_f64_promote_f32(), |
962 | 340k | 0xbc => visitor.visit_i32_reinterpret_f32(), |
963 | 172k | 0xbd => visitor.visit_i64_reinterpret_f64(), |
964 | 569k | 0xbe => visitor.visit_f32_reinterpret_i32(), |
965 | 191k | 0xbf => visitor.visit_f64_reinterpret_i64(), |
966 | | |
967 | 980k | 0xc0 => visitor.visit_i32_extend8_s(), |
968 | 567k | 0xc1 => visitor.visit_i32_extend16_s(), |
969 | 307k | 0xc2 => visitor.visit_i64_extend8_s(), |
970 | 507k | 0xc3 => visitor.visit_i64_extend16_s(), |
971 | 225k | 0xc4 => visitor.visit_i64_extend32_s(), |
972 | | |
973 | 52.6M | 0xd0 => visitor.visit_ref_null(self.read()?), |
974 | 132k | 0xd1 => visitor.visit_ref_is_null(), |
975 | 922k | 0xd2 => visitor.visit_ref_func(self.read_var_u32()?), |
976 | 2.12k | 0xd3 => visitor.visit_ref_as_non_null(), |
977 | 953 | 0xd4 => visitor.visit_br_on_null(self.read_var_u32()?), |
978 | 2.31k | 0xd6 => visitor.visit_br_on_non_null(self.read_var_u32()?), |
979 | | |
980 | 6.04M | 0xfc => self.visit_0xfc_operator(pos, visitor)?, |
981 | 35.1M | 0xfd => self.visit_0xfd_operator(pos, visitor)?, |
982 | 461k | 0xfe => self.visit_0xfe_operator(pos, visitor)?, |
983 | | |
984 | 1.52k | _ => bail!(pos, "illegal opcode: 0x{code:x}"), |
985 | | }) |
986 | 315M | } <wasmparser::binary_reader::BinaryReader>::visit_operator::<wasmprinter::operator::PrintOperator> Line | Count | Source | 751 | 94.1M | pub fn visit_operator<T>(&mut self, visitor: &mut T) -> Result<<T as VisitOperator<'a>>::Output> | 752 | 94.1M | where | 753 | 94.1M | T: VisitOperator<'a>, | 754 | 94.1M | { | 755 | 94.1M | let pos = self.original_position(); | 756 | 94.1M | let code = self.read_u8()? as u8; | 757 | 94.1M | Ok(match code { | 758 | 3.00M | 0x00 => visitor.visit_unreachable(), | 759 | 919k | 0x01 => visitor.visit_nop(), | 760 | 1.19M | 0x02 => visitor.visit_block(self.read_block_type()?), | 761 | 659k | 0x03 => visitor.visit_loop(self.read_block_type()?), | 762 | 124k | 0x04 => visitor.visit_if(self.read_block_type()?), | 763 | 119k | 0x05 => visitor.visit_else(), | 764 | 1.57M | 0x06 => visitor.visit_try(self.read_block_type()?), | 765 | 12.7k | 0x07 => visitor.visit_catch(self.read_var_u32()?), | 766 | 1.23M | 0x08 => visitor.visit_throw(self.read_var_u32()?), | 767 | 101k | 0x09 => visitor.visit_rethrow(self.read_var_u32()?), | 768 | 10.9M | 0x0b => visitor.visit_end(), | 769 | 1.39M | 0x0c => visitor.visit_br(self.read_var_u32()?), | 770 | 143k | 0x0d => visitor.visit_br_if(self.read_var_u32()?), | 771 | 63.1k | 0x0e => visitor.visit_br_table(self.read_br_table()?), | 772 | 135k | 0x0f => visitor.visit_return(), | 773 | 541k | 0x10 => visitor.visit_call(self.read_var_u32()?), | 774 | | 0x11 => { | 775 | 147k | let index = self.read_var_u32()?; | 776 | 147k | let (table_byte, table_index) = self.read_first_byte_and_var_u32()?; | 777 | 147k | visitor.visit_call_indirect(index, table_index, table_byte) | 778 | | } | 779 | 112k | 0x12 => visitor.visit_return_call(self.read_var_u32()?), | 780 | 23.2k | 0x13 => visitor.visit_return_call_indirect(self.read_var_u32()?, self.read_var_u32()?), | 781 | 1.31k | 0x14 => visitor.visit_call_ref(self.read()?), | 782 | 2.44k | 0x15 => visitor.visit_return_call_ref(self.read()?), | 783 | 37.9k | 0x18 => visitor.visit_delegate(self.read_var_u32()?), | 784 | 40.4k | 0x19 => visitor.visit_catch_all(), | 785 | 12.5M | 0x1a => visitor.visit_drop(), | 786 | 1.39M | 0x1b => visitor.visit_select(), | 787 | | 0x1c => { | 788 | 1.44k | let results = self.read_var_u32()?; | 789 | 1.44k | if results != 1 { | 790 | 10 | return Err(BinaryReaderError::new( | 791 | 10 | "invalid result arity", | 792 | 10 | self.position, | 793 | 10 | )); | 794 | 1.43k | } | 795 | 1.43k | visitor.visit_typed_select(self.read()?) | 796 | | } | 797 | | | 798 | 4.69M | 0x20 => visitor.visit_local_get(self.read_var_u32()?), | 799 | 195k | 0x21 => visitor.visit_local_set(self.read_var_u32()?), | 800 | 2.58M | 0x22 => visitor.visit_local_tee(self.read_var_u32()?), | 801 | 507k | 0x23 => visitor.visit_global_get(self.read_var_u32()?), | 802 | 175k | 0x24 => visitor.visit_global_set(self.read_var_u32()?), | 803 | 27.4k | 0x25 => visitor.visit_table_get(self.read_var_u32()?), | 804 | 9.85k | 0x26 => visitor.visit_table_set(self.read_var_u32()?), | 805 | | | 806 | 274k | 0x28 => visitor.visit_i32_load(self.read_memarg(2)?), | 807 | 242k | 0x29 => visitor.visit_i64_load(self.read_memarg(3)?), | 808 | 84.3k | 0x2a => visitor.visit_f32_load(self.read_memarg(2)?), | 809 | 83.9k | 0x2b => visitor.visit_f64_load(self.read_memarg(3)?), | 810 | 74.0k | 0x2c => visitor.visit_i32_load8_s(self.read_memarg(0)?), | 811 | 116k | 0x2d => visitor.visit_i32_load8_u(self.read_memarg(0)?), | 812 | 167k | 0x2e => visitor.visit_i32_load16_s(self.read_memarg(1)?), | 813 | 83.7k | 0x2f => visitor.visit_i32_load16_u(self.read_memarg(1)?), | 814 | 81.3k | 0x30 => visitor.visit_i64_load8_s(self.read_memarg(0)?), | 815 | 102k | 0x31 => visitor.visit_i64_load8_u(self.read_memarg(0)?), | 816 | 97.6k | 0x32 => visitor.visit_i64_load16_s(self.read_memarg(1)?), | 817 | 75.3k | 0x33 => visitor.visit_i64_load16_u(self.read_memarg(1)?), | 818 | 84.0k | 0x34 => visitor.visit_i64_load32_s(self.read_memarg(2)?), | 819 | 63.0k | 0x35 => visitor.visit_i64_load32_u(self.read_memarg(2)?), | 820 | 21.1k | 0x36 => visitor.visit_i32_store(self.read_memarg(2)?), | 821 | 54.1k | 0x37 => visitor.visit_i64_store(self.read_memarg(3)?), | 822 | 6.84k | 0x38 => visitor.visit_f32_store(self.read_memarg(2)?), | 823 | 4.60k | 0x39 => visitor.visit_f64_store(self.read_memarg(3)?), | 824 | 9.63k | 0x3a => visitor.visit_i32_store8(self.read_memarg(0)?), | 825 | 10.8k | 0x3b => visitor.visit_i32_store16(self.read_memarg(1)?), | 826 | 9.28k | 0x3c => visitor.visit_i64_store8(self.read_memarg(0)?), | 827 | 10.1k | 0x3d => visitor.visit_i64_store16(self.read_memarg(1)?), | 828 | 18.7k | 0x3e => visitor.visit_i64_store32(self.read_memarg(2)?), | 829 | | 0x3f => { | 830 | 553k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 831 | 553k | visitor.visit_memory_size(mem, mem_byte) | 832 | | } | 833 | | 0x40 => { | 834 | 202k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 835 | 202k | visitor.visit_memory_grow(mem, mem_byte) | 836 | | } | 837 | | | 838 | 2.30M | 0x41 => visitor.visit_i32_const(self.read_var_i32()?), | 839 | 1.69M | 0x42 => visitor.visit_i64_const(self.read_var_i64()?), | 840 | 2.67M | 0x43 => visitor.visit_f32_const(self.read_f32()?), | 841 | 2.86M | 0x44 => visitor.visit_f64_const(self.read_f64()?), | 842 | | | 843 | 210k | 0x45 => visitor.visit_i32_eqz(), | 844 | 29.1k | 0x46 => visitor.visit_i32_eq(), | 845 | 16.5k | 0x47 => visitor.visit_i32_ne(), | 846 | 41.1k | 0x48 => visitor.visit_i32_lt_s(), | 847 | 21.5k | 0x49 => visitor.visit_i32_lt_u(), | 848 | 70.6k | 0x4a => visitor.visit_i32_gt_s(), | 849 | 17.3k | 0x4b => visitor.visit_i32_gt_u(), | 850 | 37.7k | 0x4c => visitor.visit_i32_le_s(), | 851 | 23.9k | 0x4d => visitor.visit_i32_le_u(), | 852 | 22.5k | 0x4e => visitor.visit_i32_ge_s(), | 853 | 18.8k | 0x4f => visitor.visit_i32_ge_u(), | 854 | 72.0k | 0x50 => visitor.visit_i64_eqz(), | 855 | 9.64k | 0x51 => visitor.visit_i64_eq(), | 856 | 8.08k | 0x52 => visitor.visit_i64_ne(), | 857 | 24.8k | 0x53 => visitor.visit_i64_lt_s(), | 858 | 24.1k | 0x54 => visitor.visit_i64_lt_u(), | 859 | 12.1k | 0x55 => visitor.visit_i64_gt_s(), | 860 | 15.8k | 0x56 => visitor.visit_i64_gt_u(), | 861 | 15.9k | 0x57 => visitor.visit_i64_le_s(), | 862 | 41.2k | 0x58 => visitor.visit_i64_le_u(), | 863 | 24.2k | 0x59 => visitor.visit_i64_ge_s(), | 864 | 11.1k | 0x5a => visitor.visit_i64_ge_u(), | 865 | 572k | 0x5b => visitor.visit_f32_eq(), | 866 | 17.0k | 0x5c => visitor.visit_f32_ne(), | 867 | 44.4k | 0x5d => visitor.visit_f32_lt(), | 868 | 28.2k | 0x5e => visitor.visit_f32_gt(), | 869 | 8.11k | 0x5f => visitor.visit_f32_le(), | 870 | 16.6k | 0x60 => visitor.visit_f32_ge(), | 871 | 840k | 0x61 => visitor.visit_f64_eq(), | 872 | 14.4k | 0x62 => visitor.visit_f64_ne(), | 873 | 15.3k | 0x63 => visitor.visit_f64_lt(), | 874 | 7.53k | 0x64 => visitor.visit_f64_gt(), | 875 | 88.8k | 0x65 => visitor.visit_f64_le(), | 876 | 13.1k | 0x66 => visitor.visit_f64_ge(), | 877 | 457k | 0x67 => visitor.visit_i32_clz(), | 878 | 195k | 0x68 => visitor.visit_i32_ctz(), | 879 | 250k | 0x69 => visitor.visit_i32_popcnt(), | 880 | 14.5k | 0x6a => visitor.visit_i32_add(), | 881 | 11.3k | 0x6b => visitor.visit_i32_sub(), | 882 | 21.5k | 0x6c => visitor.visit_i32_mul(), | 883 | 47.8k | 0x6d => visitor.visit_i32_div_s(), | 884 | 23.1k | 0x6e => visitor.visit_i32_div_u(), | 885 | 38.5k | 0x6f => visitor.visit_i32_rem_s(), | 886 | 31.7k | 0x70 => visitor.visit_i32_rem_u(), | 887 | 16.7k | 0x71 => visitor.visit_i32_and(), | 888 | 22.9k | 0x72 => visitor.visit_i32_or(), | 889 | 53.7k | 0x73 => visitor.visit_i32_xor(), | 890 | 16.4k | 0x74 => visitor.visit_i32_shl(), | 891 | 31.8k | 0x75 => visitor.visit_i32_shr_s(), | 892 | 21.6k | 0x76 => visitor.visit_i32_shr_u(), | 893 | 12.2k | 0x77 => visitor.visit_i32_rotl(), | 894 | 208k | 0x78 => visitor.visit_i32_rotr(), | 895 | 266k | 0x79 => visitor.visit_i64_clz(), | 896 | 253k | 0x7a => visitor.visit_i64_ctz(), | 897 | 137k | 0x7b => visitor.visit_i64_popcnt(), | 898 | 51.2k | 0x7c => visitor.visit_i64_add(), | 899 | 20.1k | 0x7d => visitor.visit_i64_sub(), | 900 | 19.6k | 0x7e => visitor.visit_i64_mul(), | 901 | 32.5k | 0x7f => visitor.visit_i64_div_s(), | 902 | 18.3k | 0x80 => visitor.visit_i64_div_u(), | 903 | 33.7k | 0x81 => visitor.visit_i64_rem_s(), | 904 | 7.93k | 0x82 => visitor.visit_i64_rem_u(), | 905 | 11.9k | 0x83 => visitor.visit_i64_and(), | 906 | 14.4k | 0x84 => visitor.visit_i64_or(), | 907 | 7.04k | 0x85 => visitor.visit_i64_xor(), | 908 | 9.26k | 0x86 => visitor.visit_i64_shl(), | 909 | 7.93k | 0x87 => visitor.visit_i64_shr_s(), | 910 | 21.8k | 0x88 => visitor.visit_i64_shr_u(), | 911 | 5.45k | 0x89 => visitor.visit_i64_rotl(), | 912 | 4.88k | 0x8a => visitor.visit_i64_rotr(), | 913 | 169k | 0x8b => visitor.visit_f32_abs(), | 914 | 264k | 0x8c => visitor.visit_f32_neg(), | 915 | 136k | 0x8d => visitor.visit_f32_ceil(), | 916 | 93.7k | 0x8e => visitor.visit_f32_floor(), | 917 | 121k | 0x8f => visitor.visit_f32_trunc(), | 918 | 129k | 0x90 => visitor.visit_f32_nearest(), | 919 | 116k | 0x91 => visitor.visit_f32_sqrt(), | 920 | 11.9k | 0x92 => visitor.visit_f32_add(), | 921 | 6.36k | 0x93 => visitor.visit_f32_sub(), | 922 | 23.3k | 0x94 => visitor.visit_f32_mul(), | 923 | 16.2k | 0x95 => visitor.visit_f32_div(), | 924 | 3.86k | 0x96 => visitor.visit_f32_min(), | 925 | 14.2k | 0x97 => visitor.visit_f32_max(), | 926 | 15.5k | 0x98 => visitor.visit_f32_copysign(), | 927 | 165k | 0x99 => visitor.visit_f64_abs(), | 928 | 207k | 0x9a => visitor.visit_f64_neg(), | 929 | 218k | 0x9b => visitor.visit_f64_ceil(), | 930 | 117k | 0x9c => visitor.visit_f64_floor(), | 931 | 160k | 0x9d => visitor.visit_f64_trunc(), | 932 | 262k | 0x9e => visitor.visit_f64_nearest(), | 933 | 108k | 0x9f => visitor.visit_f64_sqrt(), | 934 | 13.1k | 0xa0 => visitor.visit_f64_add(), | 935 | 24.1k | 0xa1 => visitor.visit_f64_sub(), | 936 | 26.2k | 0xa2 => visitor.visit_f64_mul(), | 937 | 7.51k | 0xa3 => visitor.visit_f64_div(), | 938 | 7.89k | 0xa4 => visitor.visit_f64_min(), | 939 | 4.04k | 0xa5 => visitor.visit_f64_max(), | 940 | 7.84k | 0xa6 => visitor.visit_f64_copysign(), | 941 | 113k | 0xa7 => visitor.visit_i32_wrap_i64(), | 942 | 70.8k | 0xa8 => visitor.visit_i32_trunc_f32_s(), | 943 | 69.5k | 0xa9 => visitor.visit_i32_trunc_f32_u(), | 944 | 49.4k | 0xaa => visitor.visit_i32_trunc_f64_s(), | 945 | 68.8k | 0xab => visitor.visit_i32_trunc_f64_u(), | 946 | 93.7k | 0xac => visitor.visit_i64_extend_i32_s(), | 947 | 131k | 0xad => visitor.visit_i64_extend_i32_u(), | 948 | 56.4k | 0xae => visitor.visit_i64_trunc_f32_s(), | 949 | 73.1k | 0xaf => visitor.visit_i64_trunc_f32_u(), | 950 | 70.7k | 0xb0 => visitor.visit_i64_trunc_f64_s(), | 951 | 94.7k | 0xb1 => visitor.visit_i64_trunc_f64_u(), | 952 | 94.0k | 0xb2 => visitor.visit_f32_convert_i32_s(), | 953 | 189k | 0xb3 => visitor.visit_f32_convert_i32_u(), | 954 | 129k | 0xb4 => visitor.visit_f32_convert_i64_s(), | 955 | 70.6k | 0xb5 => visitor.visit_f32_convert_i64_u(), | 956 | 72.0k | 0xb6 => visitor.visit_f32_demote_f64(), | 957 | 127k | 0xb7 => visitor.visit_f64_convert_i32_s(), | 958 | 193k | 0xb8 => visitor.visit_f64_convert_i32_u(), | 959 | 51.5k | 0xb9 => visitor.visit_f64_convert_i64_s(), | 960 | 233k | 0xba => visitor.visit_f64_convert_i64_u(), | 961 | 98.0k | 0xbb => visitor.visit_f64_promote_f32(), | 962 | 102k | 0xbc => visitor.visit_i32_reinterpret_f32(), | 963 | 73.3k | 0xbd => visitor.visit_i64_reinterpret_f64(), | 964 | 182k | 0xbe => visitor.visit_f32_reinterpret_i32(), | 965 | 87.7k | 0xbf => visitor.visit_f64_reinterpret_i64(), | 966 | | | 967 | 403k | 0xc0 => visitor.visit_i32_extend8_s(), | 968 | 167k | 0xc1 => visitor.visit_i32_extend16_s(), | 969 | 104k | 0xc2 => visitor.visit_i64_extend8_s(), | 970 | 261k | 0xc3 => visitor.visit_i64_extend16_s(), | 971 | 65.3k | 0xc4 => visitor.visit_i64_extend32_s(), | 972 | | | 973 | 7.74M | 0xd0 => visitor.visit_ref_null(self.read()?), | 974 | 28.2k | 0xd1 => visitor.visit_ref_is_null(), | 975 | 98.9k | 0xd2 => visitor.visit_ref_func(self.read_var_u32()?), | 976 | 457 | 0xd3 => visitor.visit_ref_as_non_null(), | 977 | 197 | 0xd4 => visitor.visit_br_on_null(self.read_var_u32()?), | 978 | 673 | 0xd6 => visitor.visit_br_on_non_null(self.read_var_u32()?), | 979 | | | 980 | 2.00M | 0xfc => self.visit_0xfc_operator(pos, visitor)?, | 981 | 16.5M | 0xfd => self.visit_0xfd_operator(pos, visitor)?, | 982 | 155k | 0xfe => self.visit_0xfe_operator(pos, visitor)?, | 983 | | | 984 | 20 | _ => bail!(pos, "illegal opcode: 0x{code:x}"), | 985 | | }) | 986 | 94.1M | } |
<wasmparser::binary_reader::BinaryReader>::visit_operator::<wasmparser::binary_reader::OperatorFactory> Line | Count | Source | 751 | 89.7M | pub fn visit_operator<T>(&mut self, visitor: &mut T) -> Result<<T as VisitOperator<'a>>::Output> | 752 | 89.7M | where | 753 | 89.7M | T: VisitOperator<'a>, | 754 | 89.7M | { | 755 | 89.7M | let pos = self.original_position(); | 756 | 89.7M | let code = self.read_u8()? as u8; | 757 | 89.7M | Ok(match code { | 758 | 5.96M | 0x00 => visitor.visit_unreachable(), | 759 | 951k | 0x01 => visitor.visit_nop(), | 760 | 138k | 0x02 => visitor.visit_block(self.read_block_type()?), | 761 | 77.1k | 0x03 => visitor.visit_loop(self.read_block_type()?), | 762 | 70.2k | 0x04 => visitor.visit_if(self.read_block_type()?), | 763 | 104k | 0x05 => visitor.visit_else(), | 764 | 528k | 0x06 => visitor.visit_try(self.read_block_type()?), | 765 | 17.2k | 0x07 => visitor.visit_catch(self.read_var_u32()?), | 766 | 1.86M | 0x08 => visitor.visit_throw(self.read_var_u32()?), | 767 | 65.6k | 0x09 => visitor.visit_rethrow(self.read_var_u32()?), | 768 | 34.0M | 0x0b => visitor.visit_end(), | 769 | 311k | 0x0c => visitor.visit_br(self.read_var_u32()?), | 770 | 81.4k | 0x0d => visitor.visit_br_if(self.read_var_u32()?), | 771 | 13.2k | 0x0e => visitor.visit_br_table(self.read_br_table()?), | 772 | 12.8k | 0x0f => visitor.visit_return(), | 773 | 104k | 0x10 => visitor.visit_call(self.read_var_u32()?), | 774 | | 0x11 => { | 775 | 14.9k | let index = self.read_var_u32()?; | 776 | 14.9k | let (table_byte, table_index) = self.read_first_byte_and_var_u32()?; | 777 | 14.9k | visitor.visit_call_indirect(index, table_index, table_byte) | 778 | | } | 779 | 18.1k | 0x12 => visitor.visit_return_call(self.read_var_u32()?), | 780 | 9.48k | 0x13 => visitor.visit_return_call_indirect(self.read_var_u32()?, self.read_var_u32()?), | 781 | 3.31k | 0x14 => visitor.visit_call_ref(self.read()?), | 782 | 4.46k | 0x15 => visitor.visit_return_call_ref(self.read()?), | 783 | 21.6k | 0x18 => visitor.visit_delegate(self.read_var_u32()?), | 784 | 52.0k | 0x19 => visitor.visit_catch_all(), | 785 | 1.27M | 0x1a => visitor.visit_drop(), | 786 | 140k | 0x1b => visitor.visit_select(), | 787 | | 0x1c => { | 788 | 3.85k | let results = self.read_var_u32()?; | 789 | 3.84k | if results != 1 { | 790 | 38 | return Err(BinaryReaderError::new( | 791 | 38 | "invalid result arity", | 792 | 38 | self.position, | 793 | 38 | )); | 794 | 3.80k | } | 795 | 3.80k | visitor.visit_typed_select(self.read()?) | 796 | | } | 797 | | | 798 | 540k | 0x20 => visitor.visit_local_get(self.read_var_u32()?), | 799 | 37.7k | 0x21 => visitor.visit_local_set(self.read_var_u32()?), | 800 | 261k | 0x22 => visitor.visit_local_tee(self.read_var_u32()?), | 801 | 119k | 0x23 => visitor.visit_global_get(self.read_var_u32()?), | 802 | 16.2k | 0x24 => visitor.visit_global_set(self.read_var_u32()?), | 803 | 9.24k | 0x25 => visitor.visit_table_get(self.read_var_u32()?), | 804 | 10.1k | 0x26 => visitor.visit_table_set(self.read_var_u32()?), | 805 | | | 806 | 28.6k | 0x28 => visitor.visit_i32_load(self.read_memarg(2)?), | 807 | 15.5k | 0x29 => visitor.visit_i64_load(self.read_memarg(3)?), | 808 | 17.3k | 0x2a => visitor.visit_f32_load(self.read_memarg(2)?), | 809 | 16.0k | 0x2b => visitor.visit_f64_load(self.read_memarg(3)?), | 810 | 27.8k | 0x2c => visitor.visit_i32_load8_s(self.read_memarg(0)?), | 811 | 17.4k | 0x2d => visitor.visit_i32_load8_u(self.read_memarg(0)?), | 812 | 28.9k | 0x2e => visitor.visit_i32_load16_s(self.read_memarg(1)?), | 813 | 14.4k | 0x2f => visitor.visit_i32_load16_u(self.read_memarg(1)?), | 814 | 27.1k | 0x30 => visitor.visit_i64_load8_s(self.read_memarg(0)?), | 815 | 58.2k | 0x31 => visitor.visit_i64_load8_u(self.read_memarg(0)?), | 816 | 101k | 0x32 => visitor.visit_i64_load16_s(self.read_memarg(1)?), | 817 | 19.8k | 0x33 => visitor.visit_i64_load16_u(self.read_memarg(1)?), | 818 | 31.4k | 0x34 => visitor.visit_i64_load32_s(self.read_memarg(2)?), | 819 | 22.9k | 0x35 => visitor.visit_i64_load32_u(self.read_memarg(2)?), | 820 | 24.2k | 0x36 => visitor.visit_i32_store(self.read_memarg(2)?), | 821 | 30.7k | 0x37 => visitor.visit_i64_store(self.read_memarg(3)?), | 822 | 5.50k | 0x38 => visitor.visit_f32_store(self.read_memarg(2)?), | 823 | 3.89k | 0x39 => visitor.visit_f64_store(self.read_memarg(3)?), | 824 | 9.05k | 0x3a => visitor.visit_i32_store8(self.read_memarg(0)?), | 825 | 6.27k | 0x3b => visitor.visit_i32_store16(self.read_memarg(1)?), | 826 | 3.62k | 0x3c => visitor.visit_i64_store8(self.read_memarg(0)?), | 827 | 9.45k | 0x3d => visitor.visit_i64_store16(self.read_memarg(1)?), | 828 | 3.42k | 0x3e => visitor.visit_i64_store32(self.read_memarg(2)?), | 829 | | 0x3f => { | 830 | 45.9k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 831 | 45.9k | visitor.visit_memory_size(mem, mem_byte) | 832 | | } | 833 | | 0x40 => { | 834 | 214k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 835 | 214k | visitor.visit_memory_grow(mem, mem_byte) | 836 | | } | 837 | | | 838 | 946k | 0x41 => visitor.visit_i32_const(self.read_var_i32()?), | 839 | 393k | 0x42 => visitor.visit_i64_const(self.read_var_i64()?), | 840 | 448k | 0x43 => visitor.visit_f32_const(self.read_f32()?), | 841 | 430k | 0x44 => visitor.visit_f64_const(self.read_f64()?), | 842 | | | 843 | 163k | 0x45 => visitor.visit_i32_eqz(), | 844 | 27.5k | 0x46 => visitor.visit_i32_eq(), | 845 | 16.4k | 0x47 => visitor.visit_i32_ne(), | 846 | 25.1k | 0x48 => visitor.visit_i32_lt_s(), | 847 | 17.0k | 0x49 => visitor.visit_i32_lt_u(), | 848 | 79.6k | 0x4a => visitor.visit_i32_gt_s(), | 849 | 18.2k | 0x4b => visitor.visit_i32_gt_u(), | 850 | 13.7k | 0x4c => visitor.visit_i32_le_s(), | 851 | 33.2k | 0x4d => visitor.visit_i32_le_u(), | 852 | 29.6k | 0x4e => visitor.visit_i32_ge_s(), | 853 | 18.2k | 0x4f => visitor.visit_i32_ge_u(), | 854 | 28.6k | 0x50 => visitor.visit_i64_eqz(), | 855 | 6.53k | 0x51 => visitor.visit_i64_eq(), | 856 | 8.58k | 0x52 => visitor.visit_i64_ne(), | 857 | 16.9k | 0x53 => visitor.visit_i64_lt_s(), | 858 | 29.6k | 0x54 => visitor.visit_i64_lt_u(), | 859 | 6.32k | 0x55 => visitor.visit_i64_gt_s(), | 860 | 12.8k | 0x56 => visitor.visit_i64_gt_u(), | 861 | 5.65k | 0x57 => visitor.visit_i64_le_s(), | 862 | 41.6k | 0x58 => visitor.visit_i64_le_u(), | 863 | 35.5k | 0x59 => visitor.visit_i64_ge_s(), | 864 | 9.38k | 0x5a => visitor.visit_i64_ge_u(), | 865 | 74.3k | 0x5b => visitor.visit_f32_eq(), | 866 | 8.89k | 0x5c => visitor.visit_f32_ne(), | 867 | 36.5k | 0x5d => visitor.visit_f32_lt(), | 868 | 42.5k | 0x5e => visitor.visit_f32_gt(), | 869 | 14.3k | 0x5f => visitor.visit_f32_le(), | 870 | 21.6k | 0x60 => visitor.visit_f32_ge(), | 871 | 117k | 0x61 => visitor.visit_f64_eq(), | 872 | 14.0k | 0x62 => visitor.visit_f64_ne(), | 873 | 14.8k | 0x63 => visitor.visit_f64_lt(), | 874 | 4.85k | 0x64 => visitor.visit_f64_gt(), | 875 | 128k | 0x65 => visitor.visit_f64_le(), | 876 | 12.2k | 0x66 => visitor.visit_f64_ge(), | 877 | 67.5k | 0x67 => visitor.visit_i32_clz(), | 878 | 43.3k | 0x68 => visitor.visit_i32_ctz(), | 879 | 40.4k | 0x69 => visitor.visit_i32_popcnt(), | 880 | 16.4k | 0x6a => visitor.visit_i32_add(), | 881 | 5.30k | 0x6b => visitor.visit_i32_sub(), | 882 | 23.8k | 0x6c => visitor.visit_i32_mul(), | 883 | 73.7k | 0x6d => visitor.visit_i32_div_s(), | 884 | 22.4k | 0x6e => visitor.visit_i32_div_u(), | 885 | 26.1k | 0x6f => visitor.visit_i32_rem_s(), | 886 | 46.6k | 0x70 => visitor.visit_i32_rem_u(), | 887 | 8.23k | 0x71 => visitor.visit_i32_and(), | 888 | 20.6k | 0x72 => visitor.visit_i32_or(), | 889 | 59.0k | 0x73 => visitor.visit_i32_xor(), | 890 | 20.8k | 0x74 => visitor.visit_i32_shl(), | 891 | 31.0k | 0x75 => visitor.visit_i32_shr_s(), | 892 | 61.0k | 0x76 => visitor.visit_i32_shr_u(), | 893 | 6.29k | 0x77 => visitor.visit_i32_rotl(), | 894 | 328k | 0x78 => visitor.visit_i32_rotr(), | 895 | 39.2k | 0x79 => visitor.visit_i64_clz(), | 896 | 48.5k | 0x7a => visitor.visit_i64_ctz(), | 897 | 46.8k | 0x7b => visitor.visit_i64_popcnt(), | 898 | 14.0k | 0x7c => visitor.visit_i64_add(), | 899 | 7.47k | 0x7d => visitor.visit_i64_sub(), | 900 | 24.6k | 0x7e => visitor.visit_i64_mul(), | 901 | 43.6k | 0x7f => visitor.visit_i64_div_s(), | 902 | 16.8k | 0x80 => visitor.visit_i64_div_u(), | 903 | 32.2k | 0x81 => visitor.visit_i64_rem_s(), | 904 | 5.56k | 0x82 => visitor.visit_i64_rem_u(), | 905 | 6.40k | 0x83 => visitor.visit_i64_and(), | 906 | 20.5k | 0x84 => visitor.visit_i64_or(), | 907 | 3.69k | 0x85 => visitor.visit_i64_xor(), | 908 | 5.02k | 0x86 => visitor.visit_i64_shl(), | 909 | 2.59k | 0x87 => visitor.visit_i64_shr_s(), | 910 | 8.39k | 0x88 => visitor.visit_i64_shr_u(), | 911 | 3.12k | 0x89 => visitor.visit_i64_rotl(), | 912 | 4.65k | 0x8a => visitor.visit_i64_rotr(), | 913 | 82.8k | 0x8b => visitor.visit_f32_abs(), | 914 | 19.0k | 0x8c => visitor.visit_f32_neg(), | 915 | 14.8k | 0x8d => visitor.visit_f32_ceil(), | 916 | 14.7k | 0x8e => visitor.visit_f32_floor(), | 917 | 13.5k | 0x8f => visitor.visit_f32_trunc(), | 918 | 19.2k | 0x90 => visitor.visit_f32_nearest(), | 919 | 28.3k | 0x91 => visitor.visit_f32_sqrt(), | 920 | 10.4k | 0x92 => visitor.visit_f32_add(), | 921 | 19.4k | 0x93 => visitor.visit_f32_sub(), | 922 | 35.7k | 0x94 => visitor.visit_f32_mul(), | 923 | 14.5k | 0x95 => visitor.visit_f32_div(), | 924 | 3.76k | 0x96 => visitor.visit_f32_min(), | 925 | 15.1k | 0x97 => visitor.visit_f32_max(), | 926 | 29.2k | 0x98 => visitor.visit_f32_copysign(), | 927 | 58.7k | 0x99 => visitor.visit_f64_abs(), | 928 | 29.2k | 0x9a => visitor.visit_f64_neg(), | 929 | 31.7k | 0x9b => visitor.visit_f64_ceil(), | 930 | 21.2k | 0x9c => visitor.visit_f64_floor(), | 931 | 88.8k | 0x9d => visitor.visit_f64_trunc(), | 932 | 44.7k | 0x9e => visitor.visit_f64_nearest(), | 933 | 26.7k | 0x9f => visitor.visit_f64_sqrt(), | 934 | 12.9k | 0xa0 => visitor.visit_f64_add(), | 935 | 10.1k | 0xa1 => visitor.visit_f64_sub(), | 936 | 5.62k | 0xa2 => visitor.visit_f64_mul(), | 937 | 4.06k | 0xa3 => visitor.visit_f64_div(), | 938 | 6.61k | 0xa4 => visitor.visit_f64_min(), | 939 | 2.71k | 0xa5 => visitor.visit_f64_max(), | 940 | 13.4k | 0xa6 => visitor.visit_f64_copysign(), | 941 | 28.7k | 0xa7 => visitor.visit_i32_wrap_i64(), | 942 | 17.9k | 0xa8 => visitor.visit_i32_trunc_f32_s(), | 943 | 9.99k | 0xa9 => visitor.visit_i32_trunc_f32_u(), | 944 | 15.5k | 0xaa => visitor.visit_i32_trunc_f64_s(), | 945 | 16.3k | 0xab => visitor.visit_i32_trunc_f64_u(), | 946 | 17.4k | 0xac => visitor.visit_i64_extend_i32_s(), | 947 | 16.6k | 0xad => visitor.visit_i64_extend_i32_u(), | 948 | 17.8k | 0xae => visitor.visit_i64_trunc_f32_s(), | 949 | 40.6k | 0xaf => visitor.visit_i64_trunc_f32_u(), | 950 | 11.1k | 0xb0 => visitor.visit_i64_trunc_f64_s(), | 951 | 20.7k | 0xb1 => visitor.visit_i64_trunc_f64_u(), | 952 | 30.8k | 0xb2 => visitor.visit_f32_convert_i32_s(), | 953 | 28.4k | 0xb3 => visitor.visit_f32_convert_i32_u(), | 954 | 74.5k | 0xb4 => visitor.visit_f32_convert_i64_s(), | 955 | 25.3k | 0xb5 => visitor.visit_f32_convert_i64_u(), | 956 | 15.2k | 0xb6 => visitor.visit_f32_demote_f64(), | 957 | 34.5k | 0xb7 => visitor.visit_f64_convert_i32_s(), | 958 | 23.9k | 0xb8 => visitor.visit_f64_convert_i32_u(), | 959 | 10.2k | 0xb9 => visitor.visit_f64_convert_i64_s(), | 960 | 336k | 0xba => visitor.visit_f64_convert_i64_u(), | 961 | 11.7k | 0xbb => visitor.visit_f64_promote_f32(), | 962 | 38.6k | 0xbc => visitor.visit_i32_reinterpret_f32(), | 963 | 27.4k | 0xbd => visitor.visit_i64_reinterpret_f64(), | 964 | 55.1k | 0xbe => visitor.visit_f32_reinterpret_i32(), | 965 | 14.5k | 0xbf => visitor.visit_f64_reinterpret_i64(), | 966 | | | 967 | 36.1k | 0xc0 => visitor.visit_i32_extend8_s(), | 968 | 28.6k | 0xc1 => visitor.visit_i32_extend16_s(), | 969 | 31.7k | 0xc2 => visitor.visit_i64_extend8_s(), | 970 | 20.9k | 0xc3 => visitor.visit_i64_extend16_s(), | 971 | 28.1k | 0xc4 => visitor.visit_i64_extend32_s(), | 972 | | | 973 | 32.1M | 0xd0 => visitor.visit_ref_null(self.read()?), | 974 | 9.18k | 0xd1 => visitor.visit_ref_is_null(), | 975 | 276k | 0xd2 => visitor.visit_ref_func(self.read_var_u32()?), | 976 | 1.31k | 0xd3 => visitor.visit_ref_as_non_null(), | 977 | 675 | 0xd4 => visitor.visit_br_on_null(self.read_var_u32()?), | 978 | 1.62k | 0xd6 => visitor.visit_br_on_non_null(self.read_var_u32()?), | 979 | | | 980 | 312k | 0xfc => self.visit_0xfc_operator(pos, visitor)?, | 981 | 2.69M | 0xfd => self.visit_0xfd_operator(pos, visitor)?, | 982 | 283k | 0xfe => self.visit_0xfe_operator(pos, visitor)?, | 983 | | | 984 | 982 | _ => bail!(pos, "illegal opcode: 0x{code:x}"), | 985 | | }) | 986 | 89.7M | } |
<wasmparser::binary_reader::BinaryReader>::visit_operator::<wasmparser::validator::operators::WasmProposalValidator<wasmparser::validator::core::ValidatorResources>> Line | Count | Source | 751 | 110M | pub fn visit_operator<T>(&mut self, visitor: &mut T) -> Result<<T as VisitOperator<'a>>::Output> | 752 | 110M | where | 753 | 110M | T: VisitOperator<'a>, | 754 | 110M | { | 755 | 110M | let pos = self.original_position(); | 756 | 110M | let code = self.read_u8()? as u8; | 757 | 110M | Ok(match code { | 758 | 7.82M | 0x00 => visitor.visit_unreachable(), | 759 | 640k | 0x01 => visitor.visit_nop(), | 760 | 3.66M | 0x02 => visitor.visit_block(self.read_block_type()?), | 761 | 1.12M | 0x03 => visitor.visit_loop(self.read_block_type()?), | 762 | 466k | 0x04 => visitor.visit_if(self.read_block_type()?), | 763 | 159k | 0x05 => visitor.visit_else(), | 764 | 626k | 0x06 => visitor.visit_try(self.read_block_type()?), | 765 | 2.37k | 0x07 => visitor.visit_catch(self.read_var_u32()?), | 766 | 24.6k | 0x08 => visitor.visit_throw(self.read_var_u32()?), | 767 | 31.8k | 0x09 => visitor.visit_rethrow(self.read_var_u32()?), | 768 | 6.99M | 0x0b => visitor.visit_end(), | 769 | 2.79M | 0x0c => visitor.visit_br(self.read_var_u32()?), | 770 | 369k | 0x0d => visitor.visit_br_if(self.read_var_u32()?), | 771 | 64.2k | 0x0e => visitor.visit_br_table(self.read_br_table()?), | 772 | 150k | 0x0f => visitor.visit_return(), | 773 | 853k | 0x10 => visitor.visit_call(self.read_var_u32()?), | 774 | | 0x11 => { | 775 | 153k | let index = self.read_var_u32()?; | 776 | 153k | let (table_byte, table_index) = self.read_first_byte_and_var_u32()?; | 777 | 153k | visitor.visit_call_indirect(index, table_index, table_byte) | 778 | | } | 779 | 108k | 0x12 => visitor.visit_return_call(self.read_var_u32()?), | 780 | 12.0k | 0x13 => visitor.visit_return_call_indirect(self.read_var_u32()?, self.read_var_u32()?), | 781 | 20 | 0x14 => visitor.visit_call_ref(self.read()?), | 782 | 76 | 0x15 => visitor.visit_return_call_ref(self.read()?), | 783 | 13.6k | 0x18 => visitor.visit_delegate(self.read_var_u32()?), | 784 | 4.15k | 0x19 => visitor.visit_catch_all(), | 785 | 13.5M | 0x1a => visitor.visit_drop(), | 786 | 1.72M | 0x1b => visitor.visit_select(), | 787 | | 0x1c => { | 788 | 11.8k | let results = self.read_var_u32()?; | 789 | 11.8k | if results != 1 { | 790 | 8 | return Err(BinaryReaderError::new( | 791 | 8 | "invalid result arity", | 792 | 8 | self.position, | 793 | 8 | )); | 794 | 11.8k | } | 795 | 11.8k | visitor.visit_typed_select(self.read()?) | 796 | | } | 797 | | | 798 | 6.67M | 0x20 => visitor.visit_local_get(self.read_var_u32()?), | 799 | 1.18M | 0x21 => visitor.visit_local_set(self.read_var_u32()?), | 800 | 2.86M | 0x22 => visitor.visit_local_tee(self.read_var_u32()?), | 801 | 696k | 0x23 => visitor.visit_global_get(self.read_var_u32()?), | 802 | 323k | 0x24 => visitor.visit_global_set(self.read_var_u32()?), | 803 | 54.0k | 0x25 => visitor.visit_table_get(self.read_var_u32()?), | 804 | 6.46k | 0x26 => visitor.visit_table_set(self.read_var_u32()?), | 805 | | | 806 | 223k | 0x28 => visitor.visit_i32_load(self.read_memarg(2)?), | 807 | 194k | 0x29 => visitor.visit_i64_load(self.read_memarg(3)?), | 808 | 97.3k | 0x2a => visitor.visit_f32_load(self.read_memarg(2)?), | 809 | 81.7k | 0x2b => visitor.visit_f64_load(self.read_memarg(3)?), | 810 | 99.1k | 0x2c => visitor.visit_i32_load8_s(self.read_memarg(0)?), | 811 | 184k | 0x2d => visitor.visit_i32_load8_u(self.read_memarg(0)?), | 812 | 356k | 0x2e => visitor.visit_i32_load16_s(self.read_memarg(1)?), | 813 | 109k | 0x2f => visitor.visit_i32_load16_u(self.read_memarg(1)?), | 814 | 215k | 0x30 => visitor.visit_i64_load8_s(self.read_memarg(0)?), | 815 | 164k | 0x31 => visitor.visit_i64_load8_u(self.read_memarg(0)?), | 816 | 271k | 0x32 => visitor.visit_i64_load16_s(self.read_memarg(1)?), | 817 | 130k | 0x33 => visitor.visit_i64_load16_u(self.read_memarg(1)?), | 818 | 158k | 0x34 => visitor.visit_i64_load32_s(self.read_memarg(2)?), | 819 | 80.9k | 0x35 => visitor.visit_i64_load32_u(self.read_memarg(2)?), | 820 | 16.3k | 0x36 => visitor.visit_i32_store(self.read_memarg(2)?), | 821 | 38.4k | 0x37 => visitor.visit_i64_store(self.read_memarg(3)?), | 822 | 7.00k | 0x38 => visitor.visit_f32_store(self.read_memarg(2)?), | 823 | 5.19k | 0x39 => visitor.visit_f64_store(self.read_memarg(3)?), | 824 | 17.7k | 0x3a => visitor.visit_i32_store8(self.read_memarg(0)?), | 825 | 13.2k | 0x3b => visitor.visit_i32_store16(self.read_memarg(1)?), | 826 | 10.3k | 0x3c => visitor.visit_i64_store8(self.read_memarg(0)?), | 827 | 22.4k | 0x3d => visitor.visit_i64_store16(self.read_memarg(1)?), | 828 | 18.5k | 0x3e => visitor.visit_i64_store32(self.read_memarg(2)?), | 829 | | 0x3f => { | 830 | 1.03M | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 831 | 1.03M | visitor.visit_memory_size(mem, mem_byte) | 832 | | } | 833 | | 0x40 => { | 834 | 548k | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 835 | 548k | visitor.visit_memory_grow(mem, mem_byte) | 836 | | } | 837 | | | 838 | 3.00M | 0x41 => visitor.visit_i32_const(self.read_var_i32()?), | 839 | 2.16M | 0x42 => visitor.visit_i64_const(self.read_var_i64()?), | 840 | 4.40M | 0x43 => visitor.visit_f32_const(self.read_f32()?), | 841 | 3.79M | 0x44 => visitor.visit_f64_const(self.read_f64()?), | 842 | | | 843 | 515k | 0x45 => visitor.visit_i32_eqz(), | 844 | 22.7k | 0x46 => visitor.visit_i32_eq(), | 845 | 37.8k | 0x47 => visitor.visit_i32_ne(), | 846 | 39.8k | 0x48 => visitor.visit_i32_lt_s(), | 847 | 17.9k | 0x49 => visitor.visit_i32_lt_u(), | 848 | 73.3k | 0x4a => visitor.visit_i32_gt_s(), | 849 | 37.1k | 0x4b => visitor.visit_i32_gt_u(), | 850 | 78.1k | 0x4c => visitor.visit_i32_le_s(), | 851 | 72.5k | 0x4d => visitor.visit_i32_le_u(), | 852 | 220k | 0x4e => visitor.visit_i32_ge_s(), | 853 | 21.2k | 0x4f => visitor.visit_i32_ge_u(), | 854 | 439k | 0x50 => visitor.visit_i64_eqz(), | 855 | 7.33k | 0x51 => visitor.visit_i64_eq(), | 856 | 38.5k | 0x52 => visitor.visit_i64_ne(), | 857 | 19.6k | 0x53 => visitor.visit_i64_lt_s(), | 858 | 12.4k | 0x54 => visitor.visit_i64_lt_u(), | 859 | 16.5k | 0x55 => visitor.visit_i64_gt_s(), | 860 | 13.6k | 0x56 => visitor.visit_i64_gt_u(), | 861 | 89.0k | 0x57 => visitor.visit_i64_le_s(), | 862 | 80.9k | 0x58 => visitor.visit_i64_le_u(), | 863 | 12.9k | 0x59 => visitor.visit_i64_ge_s(), | 864 | 13.6k | 0x5a => visitor.visit_i64_ge_u(), | 865 | 734k | 0x5b => visitor.visit_f32_eq(), | 866 | 50.5k | 0x5c => visitor.visit_f32_ne(), | 867 | 227k | 0x5d => visitor.visit_f32_lt(), | 868 | 45.7k | 0x5e => visitor.visit_f32_gt(), | 869 | 6.71k | 0x5f => visitor.visit_f32_le(), | 870 | 12.1k | 0x60 => visitor.visit_f32_ge(), | 871 | 910k | 0x61 => visitor.visit_f64_eq(), | 872 | 45.5k | 0x62 => visitor.visit_f64_ne(), | 873 | 43.6k | 0x63 => visitor.visit_f64_lt(), | 874 | 42.1k | 0x64 => visitor.visit_f64_gt(), | 875 | 14.5k | 0x65 => visitor.visit_f64_le(), | 876 | 8.97k | 0x66 => visitor.visit_f64_ge(), | 877 | 418k | 0x67 => visitor.visit_i32_clz(), | 878 | 325k | 0x68 => visitor.visit_i32_ctz(), | 879 | 459k | 0x69 => visitor.visit_i32_popcnt(), | 880 | 1.58M | 0x6a => visitor.visit_i32_add(), | 881 | 31.6k | 0x6b => visitor.visit_i32_sub(), | 882 | 74.2k | 0x6c => visitor.visit_i32_mul(), | 883 | 23.4k | 0x6d => visitor.visit_i32_div_s(), | 884 | 72.9k | 0x6e => visitor.visit_i32_div_u(), | 885 | 23.4k | 0x6f => visitor.visit_i32_rem_s(), | 886 | 19.7k | 0x70 => visitor.visit_i32_rem_u(), | 887 | 17.7k | 0x71 => visitor.visit_i32_and(), | 888 | 170k | 0x72 => visitor.visit_i32_or(), | 889 | 23.5k | 0x73 => visitor.visit_i32_xor(), | 890 | 11.2k | 0x74 => visitor.visit_i32_shl(), | 891 | 23.4k | 0x75 => visitor.visit_i32_shr_s(), | 892 | 36.5k | 0x76 => visitor.visit_i32_shr_u(), | 893 | 12.6k | 0x77 => visitor.visit_i32_rotl(), | 894 | 22.8k | 0x78 => visitor.visit_i32_rotr(), | 895 | 249k | 0x79 => visitor.visit_i64_clz(), | 896 | 290k | 0x7a => visitor.visit_i64_ctz(), | 897 | 405k | 0x7b => visitor.visit_i64_popcnt(), | 898 | 118k | 0x7c => visitor.visit_i64_add(), | 899 | 21.9k | 0x7d => visitor.visit_i64_sub(), | 900 | 98.3k | 0x7e => visitor.visit_i64_mul(), | 901 | 32.4k | 0x7f => visitor.visit_i64_div_s(), | 902 | 167k | 0x80 => visitor.visit_i64_div_u(), | 903 | 15.5k | 0x81 => visitor.visit_i64_rem_s(), | 904 | 7.44k | 0x82 => visitor.visit_i64_rem_u(), | 905 | 10.4k | 0x83 => visitor.visit_i64_and(), | 906 | 10.1k | 0x84 => visitor.visit_i64_or(), | 907 | 8.63k | 0x85 => visitor.visit_i64_xor(), | 908 | 7.81k | 0x86 => visitor.visit_i64_shl(), | 909 | 12.1k | 0x87 => visitor.visit_i64_shr_s(), | 910 | 24.9k | 0x88 => visitor.visit_i64_shr_u(), | 911 | 6.07k | 0x89 => visitor.visit_i64_rotl(), | 912 | 8.77k | 0x8a => visitor.visit_i64_rotr(), | 913 | 284k | 0x8b => visitor.visit_f32_abs(), | 914 | 275k | 0x8c => visitor.visit_f32_neg(), | 915 | 194k | 0x8d => visitor.visit_f32_ceil(), | 916 | 149k | 0x8e => visitor.visit_f32_floor(), | 917 | 123k | 0x8f => visitor.visit_f32_trunc(), | 918 | 165k | 0x90 => visitor.visit_f32_nearest(), | 919 | 142k | 0x91 => visitor.visit_f32_sqrt(), | 920 | 15.9k | 0x92 => visitor.visit_f32_add(), | 921 | 24.3k | 0x93 => visitor.visit_f32_sub(), | 922 | 10.4k | 0x94 => visitor.visit_f32_mul(), | 923 | 9.11k | 0x95 => visitor.visit_f32_div(), | 924 | 6.26k | 0x96 => visitor.visit_f32_min(), | 925 | 4.12k | 0x97 => visitor.visit_f32_max(), | 926 | 35.1k | 0x98 => visitor.visit_f32_copysign(), | 927 | 190k | 0x99 => visitor.visit_f64_abs(), | 928 | 451k | 0x9a => visitor.visit_f64_neg(), | 929 | 245k | 0x9b => visitor.visit_f64_ceil(), | 930 | 177k | 0x9c => visitor.visit_f64_floor(), | 931 | 275k | 0x9d => visitor.visit_f64_trunc(), | 932 | 266k | 0x9e => visitor.visit_f64_nearest(), | 933 | 132k | 0x9f => visitor.visit_f64_sqrt(), | 934 | 12.4k | 0xa0 => visitor.visit_f64_add(), | 935 | 17.9k | 0xa1 => visitor.visit_f64_sub(), | 936 | 22.4k | 0xa2 => visitor.visit_f64_mul(), | 937 | 12.5k | 0xa3 => visitor.visit_f64_div(), | 938 | 7.57k | 0xa4 => visitor.visit_f64_min(), | 939 | 9.84k | 0xa5 => visitor.visit_f64_max(), | 940 | 25.4k | 0xa6 => visitor.visit_f64_copysign(), | 941 | 133k | 0xa7 => visitor.visit_i32_wrap_i64(), | 942 | 86.3k | 0xa8 => visitor.visit_i32_trunc_f32_s(), | 943 | 71.8k | 0xa9 => visitor.visit_i32_trunc_f32_u(), | 944 | 63.6k | 0xaa => visitor.visit_i32_trunc_f64_s(), | 945 | 79.5k | 0xab => visitor.visit_i32_trunc_f64_u(), | 946 | 118k | 0xac => visitor.visit_i64_extend_i32_s(), | 947 | 112k | 0xad => visitor.visit_i64_extend_i32_u(), | 948 | 67.6k | 0xae => visitor.visit_i64_trunc_f32_s(), | 949 | 65.7k | 0xaf => visitor.visit_i64_trunc_f32_u(), | 950 | 79.2k | 0xb0 => visitor.visit_i64_trunc_f64_s(), | 951 | 86.4k | 0xb1 => visitor.visit_i64_trunc_f64_u(), | 952 | 138k | 0xb2 => visitor.visit_f32_convert_i32_s(), | 953 | 351k | 0xb3 => visitor.visit_f32_convert_i32_u(), | 954 | 107k | 0xb4 => visitor.visit_f32_convert_i64_s(), | 955 | 67.8k | 0xb5 => visitor.visit_f32_convert_i64_u(), | 956 | 136k | 0xb6 => visitor.visit_f32_demote_f64(), | 957 | 157k | 0xb7 => visitor.visit_f64_convert_i32_s(), | 958 | 248k | 0xb8 => visitor.visit_f64_convert_i32_u(), | 959 | 66.3k | 0xb9 => visitor.visit_f64_convert_i64_s(), | 960 | 82.7k | 0xba => visitor.visit_f64_convert_i64_u(), | 961 | 152k | 0xbb => visitor.visit_f64_promote_f32(), | 962 | 198k | 0xbc => visitor.visit_i32_reinterpret_f32(), | 963 | 72.0k | 0xbd => visitor.visit_i64_reinterpret_f64(), | 964 | 331k | 0xbe => visitor.visit_f32_reinterpret_i32(), | 965 | 88.8k | 0xbf => visitor.visit_f64_reinterpret_i64(), | 966 | | | 967 | 541k | 0xc0 => visitor.visit_i32_extend8_s(), | 968 | 371k | 0xc1 => visitor.visit_i32_extend16_s(), | 969 | 171k | 0xc2 => visitor.visit_i64_extend8_s(), | 970 | 224k | 0xc3 => visitor.visit_i64_extend16_s(), | 971 | 132k | 0xc4 => visitor.visit_i64_extend32_s(), | 972 | | | 973 | 3.26M | 0xd0 => visitor.visit_ref_null(self.read()?), | 974 | 95.4k | 0xd1 => visitor.visit_ref_is_null(), | 975 | 452k | 0xd2 => visitor.visit_ref_func(self.read_var_u32()?), | 976 | 344 | 0xd3 => visitor.visit_ref_as_non_null(), | 977 | 80 | 0xd4 => visitor.visit_br_on_null(self.read_var_u32()?), | 978 | 9 | 0xd6 => visitor.visit_br_on_non_null(self.read_var_u32()?), | 979 | | | 980 | 3.72M | 0xfc => self.visit_0xfc_operator(pos, visitor)?, | 981 | 15.9M | 0xfd => self.visit_0xfd_operator(pos, visitor)?, | 982 | 21.9k | 0xfe => self.visit_0xfe_operator(pos, visitor)?, | 983 | | | 984 | 520 | _ => bail!(pos, "illegal opcode: 0x{code:x}"), | 985 | | }) | 986 | 110M | } |
<wasmparser::binary_reader::BinaryReader>::visit_operator::<<wasmparser::validator::core::ModuleState>::check_const_expr::VisitConstOperator> Line | Count | Source | 751 | 20.2M | pub fn visit_operator<T>(&mut self, visitor: &mut T) -> Result<<T as VisitOperator<'a>>::Output> | 752 | 20.2M | where | 753 | 20.2M | T: VisitOperator<'a>, | 754 | 20.2M | { | 755 | 20.2M | let pos = self.original_position(); | 756 | 20.2M | let code = self.read_u8()? as u8; | 757 | 20.2M | Ok(match code { | 758 | 16 | 0x00 => visitor.visit_unreachable(), | 759 | 6 | 0x01 => visitor.visit_nop(), | 760 | 3 | 0x02 => visitor.visit_block(self.read_block_type()?), | 761 | 6 | 0x03 => visitor.visit_loop(self.read_block_type()?), | 762 | 2 | 0x04 => visitor.visit_if(self.read_block_type()?), | 763 | 0 | 0x05 => visitor.visit_else(), | 764 | 1 | 0x06 => visitor.visit_try(self.read_block_type()?), | 765 | 1 | 0x07 => visitor.visit_catch(self.read_var_u32()?), | 766 | 2 | 0x08 => visitor.visit_throw(self.read_var_u32()?), | 767 | 1 | 0x09 => visitor.visit_rethrow(self.read_var_u32()?), | 768 | 10.1M | 0x0b => visitor.visit_end(), | 769 | 32 | 0x0c => visitor.visit_br(self.read_var_u32()?), | 770 | 4 | 0x0d => visitor.visit_br_if(self.read_var_u32()?), | 771 | 1 | 0x0e => visitor.visit_br_table(self.read_br_table()?), | 772 | 3 | 0x0f => visitor.visit_return(), | 773 | 3 | 0x10 => visitor.visit_call(self.read_var_u32()?), | 774 | | 0x11 => { | 775 | 2 | let index = self.read_var_u32()?; | 776 | 2 | let (table_byte, table_index) = self.read_first_byte_and_var_u32()?; | 777 | 2 | visitor.visit_call_indirect(index, table_index, table_byte) | 778 | | } | 779 | 3 | 0x12 => visitor.visit_return_call(self.read_var_u32()?), | 780 | 1 | 0x13 => visitor.visit_return_call_indirect(self.read_var_u32()?, self.read_var_u32()?), | 781 | 1 | 0x14 => visitor.visit_call_ref(self.read()?), | 782 | 0 | 0x15 => visitor.visit_return_call_ref(self.read()?), | 783 | 3 | 0x18 => visitor.visit_delegate(self.read_var_u32()?), | 784 | 1 | 0x19 => visitor.visit_catch_all(), | 785 | 1 | 0x1a => visitor.visit_drop(), | 786 | 4 | 0x1b => visitor.visit_select(), | 787 | | 0x1c => { | 788 | 0 | let results = self.read_var_u32()?; | 789 | 0 | if results != 1 { | 790 | 0 | return Err(BinaryReaderError::new( | 791 | 0 | "invalid result arity", | 792 | 0 | self.position, | 793 | 0 | )); | 794 | 0 | } | 795 | 0 | visitor.visit_typed_select(self.read()?) | 796 | | } | 797 | | | 798 | 3 | 0x20 => visitor.visit_local_get(self.read_var_u32()?), | 799 | 1 | 0x21 => visitor.visit_local_set(self.read_var_u32()?), | 800 | 5 | 0x22 => visitor.visit_local_tee(self.read_var_u32()?), | 801 | 27.1k | 0x23 => visitor.visit_global_get(self.read_var_u32()?), | 802 | 4 | 0x24 => visitor.visit_global_set(self.read_var_u32()?), | 803 | 6 | 0x25 => visitor.visit_table_get(self.read_var_u32()?), | 804 | 1 | 0x26 => visitor.visit_table_set(self.read_var_u32()?), | 805 | | | 806 | 1 | 0x28 => visitor.visit_i32_load(self.read_memarg(2)?), | 807 | 3 | 0x29 => visitor.visit_i64_load(self.read_memarg(3)?), | 808 | 2 | 0x2a => visitor.visit_f32_load(self.read_memarg(2)?), | 809 | 2 | 0x2b => visitor.visit_f64_load(self.read_memarg(3)?), | 810 | 3 | 0x2c => visitor.visit_i32_load8_s(self.read_memarg(0)?), | 811 | 0 | 0x2d => visitor.visit_i32_load8_u(self.read_memarg(0)?), | 812 | 4 | 0x2e => visitor.visit_i32_load16_s(self.read_memarg(1)?), | 813 | 1 | 0x2f => visitor.visit_i32_load16_u(self.read_memarg(1)?), | 814 | 2 | 0x30 => visitor.visit_i64_load8_s(self.read_memarg(0)?), | 815 | 3 | 0x31 => visitor.visit_i64_load8_u(self.read_memarg(0)?), | 816 | 2 | 0x32 => visitor.visit_i64_load16_s(self.read_memarg(1)?), | 817 | 2 | 0x33 => visitor.visit_i64_load16_u(self.read_memarg(1)?), | 818 | 0 | 0x34 => visitor.visit_i64_load32_s(self.read_memarg(2)?), | 819 | 0 | 0x35 => visitor.visit_i64_load32_u(self.read_memarg(2)?), | 820 | 3 | 0x36 => visitor.visit_i32_store(self.read_memarg(2)?), | 821 | 0 | 0x37 => visitor.visit_i64_store(self.read_memarg(3)?), | 822 | 1 | 0x38 => visitor.visit_f32_store(self.read_memarg(2)?), | 823 | 2 | 0x39 => visitor.visit_f64_store(self.read_memarg(3)?), | 824 | 0 | 0x3a => visitor.visit_i32_store8(self.read_memarg(0)?), | 825 | 1 | 0x3b => visitor.visit_i32_store16(self.read_memarg(1)?), | 826 | 2 | 0x3c => visitor.visit_i64_store8(self.read_memarg(0)?), | 827 | 1 | 0x3d => visitor.visit_i64_store16(self.read_memarg(1)?), | 828 | 1 | 0x3e => visitor.visit_i64_store32(self.read_memarg(2)?), | 829 | | 0x3f => { | 830 | 4 | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 831 | 4 | visitor.visit_memory_size(mem, mem_byte) | 832 | | } | 833 | | 0x40 => { | 834 | 7 | let (mem_byte, mem) = self.read_first_byte_and_var_u32()?; | 835 | 7 | visitor.visit_memory_grow(mem, mem_byte) | 836 | | } | 837 | | | 838 | 259k | 0x41 => visitor.visit_i32_const(self.read_var_i32()?), | 839 | 75.7k | 0x42 => visitor.visit_i64_const(self.read_var_i64()?), | 840 | 100k | 0x43 => visitor.visit_f32_const(self.read_f32()?), | 841 | 81.7k | 0x44 => visitor.visit_f64_const(self.read_f64()?), | 842 | | | 843 | 1 | 0x45 => visitor.visit_i32_eqz(), | 844 | 0 | 0x46 => visitor.visit_i32_eq(), | 845 | 2 | 0x47 => visitor.visit_i32_ne(), | 846 | 3 | 0x48 => visitor.visit_i32_lt_s(), | 847 | 1 | 0x49 => visitor.visit_i32_lt_u(), | 848 | 0 | 0x4a => visitor.visit_i32_gt_s(), | 849 | 2 | 0x4b => visitor.visit_i32_gt_u(), | 850 | 0 | 0x4c => visitor.visit_i32_le_s(), | 851 | 1 | 0x4d => visitor.visit_i32_le_u(), | 852 | 0 | 0x4e => visitor.visit_i32_ge_s(), | 853 | 1 | 0x4f => visitor.visit_i32_ge_u(), | 854 | 0 | 0x50 => visitor.visit_i64_eqz(), | 855 | 1 | 0x51 => visitor.visit_i64_eq(), | 856 | 4 | 0x52 => visitor.visit_i64_ne(), | 857 | 2 | 0x53 => visitor.visit_i64_lt_s(), | 858 | 2 | 0x54 => visitor.visit_i64_lt_u(), | 859 | 2 | 0x55 => visitor.visit_i64_gt_s(), | 860 | 1 | 0x56 => visitor.visit_i64_gt_u(), | 861 | 1 | 0x57 => visitor.visit_i64_le_s(), | 862 | 0 | 0x58 => visitor.visit_i64_le_u(), | 863 | 1 | 0x59 => visitor.visit_i64_ge_s(), | 864 | 1 | 0x5a => visitor.visit_i64_ge_u(), | 865 | 1 | 0x5b => visitor.visit_f32_eq(), | 866 | 4 | 0x5c => visitor.visit_f32_ne(), | 867 | 1 | 0x5d => visitor.visit_f32_lt(), | 868 | 1 | 0x5e => visitor.visit_f32_gt(), | 869 | 2 | 0x5f => visitor.visit_f32_le(), | 870 | 1 | 0x60 => visitor.visit_f32_ge(), | 871 | 2 | 0x61 => visitor.visit_f64_eq(), | 872 | 3 | 0x62 => visitor.visit_f64_ne(), | 873 | 2 | 0x63 => visitor.visit_f64_lt(), | 874 | 3 | 0x64 => visitor.visit_f64_gt(), | 875 | 1 | 0x65 => visitor.visit_f64_le(), | 876 | 1 | 0x66 => visitor.visit_f64_ge(), | 877 | 0 | 0x67 => visitor.visit_i32_clz(), | 878 | 2 | 0x68 => visitor.visit_i32_ctz(), | 879 | 2 | 0x69 => visitor.visit_i32_popcnt(), | 880 | 2 | 0x6a => visitor.visit_i32_add(), | 881 | 2 | 0x6b => visitor.visit_i32_sub(), | 882 | 1 | 0x6c => visitor.visit_i32_mul(), | 883 | 2 | 0x6d => visitor.visit_i32_div_s(), | 884 | 2 | 0x6e => visitor.visit_i32_div_u(), | 885 | 2 | 0x6f => visitor.visit_i32_rem_s(), | 886 | 1 | 0x70 => visitor.visit_i32_rem_u(), | 887 | 1 | 0x71 => visitor.visit_i32_and(), | 888 | 2 | 0x72 => visitor.visit_i32_or(), | 889 | 4 | 0x73 => visitor.visit_i32_xor(), | 890 | 3 | 0x74 => visitor.visit_i32_shl(), | 891 | 2 | 0x75 => visitor.visit_i32_shr_s(), | 892 | 0 | 0x76 => visitor.visit_i32_shr_u(), | 893 | 1 | 0x77 => visitor.visit_i32_rotl(), | 894 | 1 | 0x78 => visitor.visit_i32_rotr(), | 895 | 2 | 0x79 => visitor.visit_i64_clz(), | 896 | 0 | 0x7a => visitor.visit_i64_ctz(), | 897 | 3 | 0x7b => visitor.visit_i64_popcnt(), | 898 | 1 | 0x7c => visitor.visit_i64_add(), | 899 | 2 | 0x7d => visitor.visit_i64_sub(), | 900 | 0 | 0x7e => visitor.visit_i64_mul(), | 901 | 1 | 0x7f => visitor.visit_i64_div_s(), | 902 | 1 | 0x80 => visitor.visit_i64_div_u(), | 903 | 0 | 0x81 => visitor.visit_i64_rem_s(), | 904 | 2 | 0x82 => visitor.visit_i64_rem_u(), | 905 | 0 | 0x83 => visitor.visit_i64_and(), | 906 | 2 | 0x84 => visitor.visit_i64_or(), | 907 | 3 | 0x85 => visitor.visit_i64_xor(), | 908 | 0 | 0x86 => visitor.visit_i64_shl(), | 909 | 0 | 0x87 => visitor.visit_i64_shr_s(), | 910 | 0 | 0x88 => visitor.visit_i64_shr_u(), | 911 | 2 | 0x89 => visitor.visit_i64_rotl(), | 912 | 1 | 0x8a => visitor.visit_i64_rotr(), | 913 | 4 | 0x8b => visitor.visit_f32_abs(), | 914 | 5 | 0x8c => visitor.visit_f32_neg(), | 915 | 4 | 0x8d => visitor.visit_f32_ceil(), | 916 | 0 | 0x8e => visitor.visit_f32_floor(), | 917 | 0 | 0x8f => visitor.visit_f32_trunc(), | 918 | 1 | 0x90 => visitor.visit_f32_nearest(), | 919 | 1 | 0x91 => visitor.visit_f32_sqrt(), | 920 | 1 | 0x92 => visitor.visit_f32_add(), | 921 | 1 | 0x93 => visitor.visit_f32_sub(), | 922 | 1 | 0x94 => visitor.visit_f32_mul(), | 923 | 0 | 0x95 => visitor.visit_f32_div(), | 924 | 0 | 0x96 => visitor.visit_f32_min(), | 925 | 2 | 0x97 => visitor.visit_f32_max(), | 926 | 2 | 0x98 => visitor.visit_f32_copysign(), | 927 | 1 | 0x99 => visitor.visit_f64_abs(), | 928 | 4 | 0x9a => visitor.visit_f64_neg(), | 929 | 6 | 0x9b => visitor.visit_f64_ceil(), | 930 | 2 | 0x9c => visitor.visit_f64_floor(), | 931 | 0 | 0x9d => visitor.visit_f64_trunc(), | 932 | 3 | 0x9e => visitor.visit_f64_nearest(), | 933 | 1 | 0x9f => visitor.visit_f64_sqrt(), | 934 | 2 | 0xa0 => visitor.visit_f64_add(), | 935 | 1 | 0xa1 => visitor.visit_f64_sub(), | 936 | 4 | 0xa2 => visitor.visit_f64_mul(), | 937 | 3 | 0xa3 => visitor.visit_f64_div(), | 938 | 1 | 0xa4 => visitor.visit_f64_min(), | 939 | 2 | 0xa5 => visitor.visit_f64_max(), | 940 | 1 | 0xa6 => visitor.visit_f64_copysign(), | 941 | 2 | 0xa7 => visitor.visit_i32_wrap_i64(), | 942 | 1 | 0xa8 => visitor.visit_i32_trunc_f32_s(), | 943 | 2 | 0xa9 => visitor.visit_i32_trunc_f32_u(), | 944 | 1 | 0xaa => visitor.visit_i32_trunc_f64_s(), | 945 | 2 | 0xab => visitor.visit_i32_trunc_f64_u(), | 946 | 0 | 0xac => visitor.visit_i64_extend_i32_s(), | 947 | 1 | 0xad => visitor.visit_i64_extend_i32_u(), | 948 | 0 | 0xae => visitor.visit_i64_trunc_f32_s(), | 949 | 0 | 0xaf => visitor.visit_i64_trunc_f32_u(), | 950 | 1 | 0xb0 => visitor.visit_i64_trunc_f64_s(), | 951 | 1 | 0xb1 => visitor.visit_i64_trunc_f64_u(), | 952 | 1 | 0xb2 => visitor.visit_f32_convert_i32_s(), | 953 | 1 | 0xb3 => visitor.visit_f32_convert_i32_u(), | 954 | 3 | 0xb4 => visitor.visit_f32_convert_i64_s(), | 955 | 0 | 0xb5 => visitor.visit_f32_convert_i64_u(), | 956 | 2 | 0xb6 => visitor.visit_f32_demote_f64(), | 957 | 1 | 0xb7 => visitor.visit_f64_convert_i32_s(), | 958 | 2 | 0xb8 => visitor.visit_f64_convert_i32_u(), | 959 | 2 | 0xb9 => visitor.visit_f64_convert_i64_s(), | 960 | 6 | 0xba => visitor.visit_f64_convert_i64_u(), | 961 | 1 | 0xbb => visitor.visit_f64_promote_f32(), | 962 | 0 | 0xbc => visitor.visit_i32_reinterpret_f32(), | 963 | 0 | 0xbd => visitor.visit_i64_reinterpret_f64(), | 964 | 1 | 0xbe => visitor.visit_f32_reinterpret_i32(), | 965 | 2 | 0xbf => visitor.visit_f64_reinterpret_i64(), | 966 | | | 967 | 3 | 0xc0 => visitor.visit_i32_extend8_s(), | 968 | 2 | 0xc1 => visitor.visit_i32_extend16_s(), | 969 | 1 | 0xc2 => visitor.visit_i64_extend8_s(), | 970 | 1 | 0xc3 => visitor.visit_i64_extend16_s(), | 971 | 1 | 0xc4 => visitor.visit_i64_extend32_s(), | 972 | | | 973 | 9.48M | 0xd0 => visitor.visit_ref_null(self.read()?), | 974 | 0 | 0xd1 => visitor.visit_ref_is_null(), | 975 | 94.6k | 0xd2 => visitor.visit_ref_func(self.read_var_u32()?), | 976 | 0 | 0xd3 => visitor.visit_ref_as_non_null(), | 977 | 1 | 0xd4 => visitor.visit_br_on_null(self.read_var_u32()?), | 978 | 1 | 0xd6 => visitor.visit_br_on_non_null(self.read_var_u32()?), | 979 | | | 980 | 42 | 0xfc => self.visit_0xfc_operator(pos, visitor)?, | 981 | 23.6k | 0xfd => self.visit_0xfd_operator(pos, visitor)?, | 982 | 84 | 0xfe => self.visit_0xfe_operator(pos, visitor)?, | 983 | | | 984 | 0 | _ => bail!(pos, "illegal opcode: 0x{code:x}"), | 985 | | }) | 986 | 20.2M | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_operator::<wit_component::gc::Module> Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_operator::<wit_component::gc::Encoder> |
987 | | |
988 | 6.04M | fn visit_0xfc_operator<T>( |
989 | 6.04M | &mut self, |
990 | 6.04M | pos: usize, |
991 | 6.04M | visitor: &mut T, |
992 | 6.04M | ) -> Result<<T as VisitOperator<'a>>::Output> |
993 | 6.04M | where |
994 | 6.04M | T: VisitOperator<'a>, |
995 | 6.04M | { |
996 | 6.04M | let code = self.read_var_u32()?; |
997 | 6.04M | Ok(match code { |
998 | 529k | 0x00 => visitor.visit_i32_trunc_sat_f32_s(), |
999 | 237k | 0x01 => visitor.visit_i32_trunc_sat_f32_u(), |
1000 | 255k | 0x02 => visitor.visit_i32_trunc_sat_f64_s(), |
1001 | 355k | 0x03 => visitor.visit_i32_trunc_sat_f64_u(), |
1002 | 101k | 0x04 => visitor.visit_i64_trunc_sat_f32_s(), |
1003 | 93.6k | 0x05 => visitor.visit_i64_trunc_sat_f32_u(), |
1004 | 129k | 0x06 => visitor.visit_i64_trunc_sat_f64_s(), |
1005 | 102k | 0x07 => visitor.visit_i64_trunc_sat_f64_u(), |
1006 | | |
1007 | | 0x08 => { |
1008 | 33.0k | let segment = self.read_var_u32()?; |
1009 | 33.0k | let mem = self.read_var_u32()?; |
1010 | 33.0k | visitor.visit_memory_init(segment, mem) |
1011 | | } |
1012 | | 0x09 => { |
1013 | 2.30M | let segment = self.read_var_u32()?; |
1014 | 2.30M | visitor.visit_data_drop(segment) |
1015 | | } |
1016 | | 0x0a => { |
1017 | 16.3k | let dst = self.read_var_u32()?; |
1018 | 16.3k | let src = self.read_var_u32()?; |
1019 | 16.3k | visitor.visit_memory_copy(dst, src) |
1020 | | } |
1021 | | 0x0b => { |
1022 | 33.0k | let mem = self.read_var_u32()?; |
1023 | 32.9k | visitor.visit_memory_fill(mem) |
1024 | | } |
1025 | | 0x0c => { |
1026 | 12.3k | let segment = self.read_var_u32()?; |
1027 | 12.3k | let table = self.read_var_u32()?; |
1028 | 12.3k | visitor.visit_table_init(segment, table) |
1029 | | } |
1030 | | 0x0d => { |
1031 | 1.14M | let segment = self.read_var_u32()?; |
1032 | 1.14M | visitor.visit_elem_drop(segment) |
1033 | | } |
1034 | | 0x0e => { |
1035 | 22.6k | let dst_table = self.read_var_u32()?; |
1036 | 22.6k | let src_table = self.read_var_u32()?; |
1037 | 22.6k | visitor.visit_table_copy(dst_table, src_table) |
1038 | | } |
1039 | | |
1040 | | 0x0f => { |
1041 | 41.6k | let table = self.read_var_u32()?; |
1042 | 41.6k | visitor.visit_table_grow(table) |
1043 | | } |
1044 | | 0x10 => { |
1045 | 623k | let table = self.read_var_u32()?; |
1046 | 623k | visitor.visit_table_size(table) |
1047 | | } |
1048 | | |
1049 | | 0x11 => { |
1050 | 9.19k | let table = self.read_var_u32()?; |
1051 | 9.18k | visitor.visit_table_fill(table) |
1052 | | } |
1053 | | |
1054 | | 0x12 => { |
1055 | 1.72k | let mem = self.read_var_u32()?; |
1056 | 1.72k | visitor.visit_memory_discard(mem) |
1057 | | } |
1058 | | |
1059 | 42 | _ => bail!(pos, "unknown 0xfc subopcode: 0x{code:x}"), |
1060 | | }) |
1061 | 6.04M | } <wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<wasmprinter::operator::PrintOperator> Line | Count | Source | 988 | 2.00M | fn visit_0xfc_operator<T>( | 989 | 2.00M | &mut self, | 990 | 2.00M | pos: usize, | 991 | 2.00M | visitor: &mut T, | 992 | 2.00M | ) -> Result<<T as VisitOperator<'a>>::Output> | 993 | 2.00M | where | 994 | 2.00M | T: VisitOperator<'a>, | 995 | 2.00M | { | 996 | 2.00M | let code = self.read_var_u32()?; | 997 | 2.00M | Ok(match code { | 998 | 216k | 0x00 => visitor.visit_i32_trunc_sat_f32_s(), | 999 | 59.8k | 0x01 => visitor.visit_i32_trunc_sat_f32_u(), | 1000 | 126k | 0x02 => visitor.visit_i32_trunc_sat_f64_s(), | 1001 | 119k | 0x03 => visitor.visit_i32_trunc_sat_f64_u(), | 1002 | 39.3k | 0x04 => visitor.visit_i64_trunc_sat_f32_s(), | 1003 | 44.0k | 0x05 => visitor.visit_i64_trunc_sat_f32_u(), | 1004 | 43.1k | 0x06 => visitor.visit_i64_trunc_sat_f64_s(), | 1005 | 44.6k | 0x07 => visitor.visit_i64_trunc_sat_f64_u(), | 1006 | | | 1007 | | 0x08 => { | 1008 | 11.7k | let segment = self.read_var_u32()?; | 1009 | 11.7k | let mem = self.read_var_u32()?; | 1010 | 11.7k | visitor.visit_memory_init(segment, mem) | 1011 | | } | 1012 | | 0x09 => { | 1013 | 859k | let segment = self.read_var_u32()?; | 1014 | 859k | visitor.visit_data_drop(segment) | 1015 | | } | 1016 | | 0x0a => { | 1017 | 3.25k | let dst = self.read_var_u32()?; | 1018 | 3.25k | let src = self.read_var_u32()?; | 1019 | 3.25k | visitor.visit_memory_copy(dst, src) | 1020 | | } | 1021 | | 0x0b => { | 1022 | 5.66k | let mem = self.read_var_u32()?; | 1023 | 5.65k | visitor.visit_memory_fill(mem) | 1024 | | } | 1025 | | 0x0c => { | 1026 | 4.09k | let segment = self.read_var_u32()?; | 1027 | 4.09k | let table = self.read_var_u32()?; | 1028 | 4.09k | visitor.visit_table_init(segment, table) | 1029 | | } | 1030 | | 0x0d => { | 1031 | 298k | let segment = self.read_var_u32()?; | 1032 | 298k | visitor.visit_elem_drop(segment) | 1033 | | } | 1034 | | 0x0e => { | 1035 | 6.47k | let dst_table = self.read_var_u32()?; | 1036 | 6.47k | let src_table = self.read_var_u32()?; | 1037 | 6.47k | visitor.visit_table_copy(dst_table, src_table) | 1038 | | } | 1039 | | | 1040 | | 0x0f => { | 1041 | 4.41k | let table = self.read_var_u32()?; | 1042 | 4.40k | visitor.visit_table_grow(table) | 1043 | | } | 1044 | | 0x10 => { | 1045 | 116k | let table = self.read_var_u32()?; | 1046 | 116k | visitor.visit_table_size(table) | 1047 | | } | 1048 | | | 1049 | | 0x11 => { | 1050 | 2.59k | let table = self.read_var_u32()?; | 1051 | 2.59k | visitor.visit_table_fill(table) | 1052 | | } | 1053 | | | 1054 | | 0x12 => { | 1055 | 583 | let mem = self.read_var_u32()?; | 1056 | 582 | visitor.visit_memory_discard(mem) | 1057 | | } | 1058 | | | 1059 | 1 | _ => bail!(pos, "unknown 0xfc subopcode: 0x{code:x}"), | 1060 | | }) | 1061 | 2.00M | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<wasmparser::validator::operators::WasmProposalValidator<wasmparser::validator::core::ValidatorResources>> Line | Count | Source | 988 | 3.72M | fn visit_0xfc_operator<T>( | 989 | 3.72M | &mut self, | 990 | 3.72M | pos: usize, | 991 | 3.72M | visitor: &mut T, | 992 | 3.72M | ) -> Result<<T as VisitOperator<'a>>::Output> | 993 | 3.72M | where | 994 | 3.72M | T: VisitOperator<'a>, | 995 | 3.72M | { | 996 | 3.72M | let code = self.read_var_u32()?; | 997 | 3.72M | Ok(match code { | 998 | 279k | 0x00 => visitor.visit_i32_trunc_sat_f32_s(), | 999 | 153k | 0x01 => visitor.visit_i32_trunc_sat_f32_u(), | 1000 | 119k | 0x02 => visitor.visit_i32_trunc_sat_f64_s(), | 1001 | 220k | 0x03 => visitor.visit_i32_trunc_sat_f64_u(), | 1002 | 55.3k | 0x04 => visitor.visit_i64_trunc_sat_f32_s(), | 1003 | 44.7k | 0x05 => visitor.visit_i64_trunc_sat_f32_u(), | 1004 | 63.8k | 0x06 => visitor.visit_i64_trunc_sat_f64_s(), | 1005 | 48.7k | 0x07 => visitor.visit_i64_trunc_sat_f64_u(), | 1006 | | | 1007 | | 0x08 => { | 1008 | 905 | let segment = self.read_var_u32()?; | 1009 | 904 | let mem = self.read_var_u32()?; | 1010 | 903 | visitor.visit_memory_init(segment, mem) | 1011 | | } | 1012 | | 0x09 => { | 1013 | 1.34M | let segment = self.read_var_u32()?; | 1014 | 1.34M | visitor.visit_data_drop(segment) | 1015 | | } | 1016 | | 0x0a => { | 1017 | 6.86k | let dst = self.read_var_u32()?; | 1018 | 6.85k | let src = self.read_var_u32()?; | 1019 | 6.85k | visitor.visit_memory_copy(dst, src) | 1020 | | } | 1021 | | 0x0b => { | 1022 | 9.99k | let mem = self.read_var_u32()?; | 1023 | 9.98k | visitor.visit_memory_fill(mem) | 1024 | | } | 1025 | | 0x0c => { | 1026 | 1.67k | let segment = self.read_var_u32()?; | 1027 | 1.67k | let table = self.read_var_u32()?; | 1028 | 1.67k | visitor.visit_table_init(segment, table) | 1029 | | } | 1030 | | 0x0d => { | 1031 | 838k | let segment = self.read_var_u32()?; | 1032 | 838k | visitor.visit_elem_drop(segment) | 1033 | | } | 1034 | | 0x0e => { | 1035 | 6.17k | let dst_table = self.read_var_u32()?; | 1036 | 6.17k | let src_table = self.read_var_u32()?; | 1037 | 6.17k | visitor.visit_table_copy(dst_table, src_table) | 1038 | | } | 1039 | | | 1040 | | 0x0f => { | 1041 | 33.6k | let table = self.read_var_u32()?; | 1042 | 33.6k | visitor.visit_table_grow(table) | 1043 | | } | 1044 | | 0x10 => { | 1045 | 493k | let table = self.read_var_u32()?; | 1046 | 493k | visitor.visit_table_size(table) | 1047 | | } | 1048 | | | 1049 | | 0x11 => { | 1050 | 4.86k | let table = self.read_var_u32()?; | 1051 | 4.86k | visitor.visit_table_fill(table) | 1052 | | } | 1053 | | | 1054 | | 0x12 => { | 1055 | 54 | let mem = self.read_var_u32()?; | 1056 | 52 | visitor.visit_memory_discard(mem) | 1057 | | } | 1058 | | | 1059 | 12 | _ => bail!(pos, "unknown 0xfc subopcode: 0x{code:x}"), | 1060 | | }) | 1061 | 3.72M | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<wasmparser::binary_reader::OperatorFactory> Line | Count | Source | 988 | 312k | fn visit_0xfc_operator<T>( | 989 | 312k | &mut self, | 990 | 312k | pos: usize, | 991 | 312k | visitor: &mut T, | 992 | 312k | ) -> Result<<T as VisitOperator<'a>>::Output> | 993 | 312k | where | 994 | 312k | T: VisitOperator<'a>, | 995 | 312k | { | 996 | 312k | let code = self.read_var_u32()?; | 997 | 312k | Ok(match code { | 998 | 33.6k | 0x00 => visitor.visit_i32_trunc_sat_f32_s(), | 999 | 24.8k | 0x01 => visitor.visit_i32_trunc_sat_f32_u(), | 1000 | 9.69k | 0x02 => visitor.visit_i32_trunc_sat_f64_s(), | 1001 | 15.2k | 0x03 => visitor.visit_i32_trunc_sat_f64_u(), | 1002 | 6.83k | 0x04 => visitor.visit_i64_trunc_sat_f32_s(), | 1003 | 4.85k | 0x05 => visitor.visit_i64_trunc_sat_f32_u(), | 1004 | 22.2k | 0x06 => visitor.visit_i64_trunc_sat_f64_s(), | 1005 | 8.70k | 0x07 => visitor.visit_i64_trunc_sat_f64_u(), | 1006 | | | 1007 | | 0x08 => { | 1008 | 20.4k | let segment = self.read_var_u32()?; | 1009 | 20.4k | let mem = self.read_var_u32()?; | 1010 | 20.4k | visitor.visit_memory_init(segment, mem) | 1011 | | } | 1012 | | 0x09 => { | 1013 | 95.4k | let segment = self.read_var_u32()?; | 1014 | 95.4k | visitor.visit_data_drop(segment) | 1015 | | } | 1016 | | 0x0a => { | 1017 | 6.20k | let dst = self.read_var_u32()?; | 1018 | 6.20k | let src = self.read_var_u32()?; | 1019 | 6.19k | visitor.visit_memory_copy(dst, src) | 1020 | | } | 1021 | | 0x0b => { | 1022 | 17.3k | let mem = self.read_var_u32()?; | 1023 | 17.3k | visitor.visit_memory_fill(mem) | 1024 | | } | 1025 | | 0x0c => { | 1026 | 6.57k | let segment = self.read_var_u32()?; | 1027 | 6.56k | let table = self.read_var_u32()?; | 1028 | 6.56k | visitor.visit_table_init(segment, table) | 1029 | | } | 1030 | | 0x0d => { | 1031 | 9.73k | let segment = self.read_var_u32()?; | 1032 | 9.72k | visitor.visit_elem_drop(segment) | 1033 | | } | 1034 | | 0x0e => { | 1035 | 9.96k | let dst_table = self.read_var_u32()?; | 1036 | 9.96k | let src_table = self.read_var_u32()?; | 1037 | 9.95k | visitor.visit_table_copy(dst_table, src_table) | 1038 | | } | 1039 | | | 1040 | | 0x0f => { | 1041 | 3.59k | let table = self.read_var_u32()?; | 1042 | 3.59k | visitor.visit_table_grow(table) | 1043 | | } | 1044 | | 0x10 => { | 1045 | 13.8k | let table = self.read_var_u32()?; | 1046 | 13.8k | visitor.visit_table_size(table) | 1047 | | } | 1048 | | | 1049 | | 0x11 => { | 1050 | 1.73k | let table = self.read_var_u32()?; | 1051 | 1.72k | visitor.visit_table_fill(table) | 1052 | | } | 1053 | | | 1054 | | 0x12 => { | 1055 | 1.09k | let mem = self.read_var_u32()?; | 1056 | 1.08k | visitor.visit_memory_discard(mem) | 1057 | | } | 1058 | | | 1059 | 29 | _ => bail!(pos, "unknown 0xfc subopcode: 0x{code:x}"), | 1060 | | }) | 1061 | 312k | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<<wasmparser::validator::core::ModuleState>::check_const_expr::VisitConstOperator> Line | Count | Source | 988 | 42 | fn visit_0xfc_operator<T>( | 989 | 42 | &mut self, | 990 | 42 | pos: usize, | 991 | 42 | visitor: &mut T, | 992 | 42 | ) -> Result<<T as VisitOperator<'a>>::Output> | 993 | 42 | where | 994 | 42 | T: VisitOperator<'a>, | 995 | 42 | { | 996 | 42 | let code = self.read_var_u32()?; | 997 | 42 | Ok(match code { | 998 | 1 | 0x00 => visitor.visit_i32_trunc_sat_f32_s(), | 999 | 1 | 0x01 => visitor.visit_i32_trunc_sat_f32_u(), | 1000 | 2 | 0x02 => visitor.visit_i32_trunc_sat_f64_s(), | 1001 | 0 | 0x03 => visitor.visit_i32_trunc_sat_f64_u(), | 1002 | 0 | 0x04 => visitor.visit_i64_trunc_sat_f32_s(), | 1003 | 3 | 0x05 => visitor.visit_i64_trunc_sat_f32_u(), | 1004 | 0 | 0x06 => visitor.visit_i64_trunc_sat_f64_s(), | 1005 | 0 | 0x07 => visitor.visit_i64_trunc_sat_f64_u(), | 1006 | | | 1007 | | 0x08 => { | 1008 | 2 | let segment = self.read_var_u32()?; | 1009 | 2 | let mem = self.read_var_u32()?; | 1010 | 2 | visitor.visit_memory_init(segment, mem) | 1011 | | } | 1012 | | 0x09 => { | 1013 | 6 | let segment = self.read_var_u32()?; | 1014 | 6 | visitor.visit_data_drop(segment) | 1015 | | } | 1016 | | 0x0a => { | 1017 | 2 | let dst = self.read_var_u32()?; | 1018 | 2 | let src = self.read_var_u32()?; | 1019 | 2 | visitor.visit_memory_copy(dst, src) | 1020 | | } | 1021 | | 0x0b => { | 1022 | 4 | let mem = self.read_var_u32()?; | 1023 | 4 | visitor.visit_memory_fill(mem) | 1024 | | } | 1025 | | 0x0c => { | 1026 | 4 | let segment = self.read_var_u32()?; | 1027 | 4 | let table = self.read_var_u32()?; | 1028 | 4 | visitor.visit_table_init(segment, table) | 1029 | | } | 1030 | | 0x0d => { | 1031 | 2 | let segment = self.read_var_u32()?; | 1032 | 2 | visitor.visit_elem_drop(segment) | 1033 | | } | 1034 | | 0x0e => { | 1035 | 3 | let dst_table = self.read_var_u32()?; | 1036 | 3 | let src_table = self.read_var_u32()?; | 1037 | 3 | visitor.visit_table_copy(dst_table, src_table) | 1038 | | } | 1039 | | | 1040 | | 0x0f => { | 1041 | 1 | let table = self.read_var_u32()?; | 1042 | 1 | visitor.visit_table_grow(table) | 1043 | | } | 1044 | | 0x10 => { | 1045 | 5 | let table = self.read_var_u32()?; | 1046 | 5 | visitor.visit_table_size(table) | 1047 | | } | 1048 | | | 1049 | | 0x11 => { | 1050 | 6 | let table = self.read_var_u32()?; | 1051 | 6 | visitor.visit_table_fill(table) | 1052 | | } | 1053 | | | 1054 | | 0x12 => { | 1055 | 0 | let mem = self.read_var_u32()?; | 1056 | 0 | visitor.visit_memory_discard(mem) | 1057 | | } | 1058 | | | 1059 | 0 | _ => bail!(pos, "unknown 0xfc subopcode: 0x{code:x}"), | 1060 | | }) | 1061 | 42 | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<wit_component::gc::Encoder> Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfc_operator::<wit_component::gc::Module> |
1062 | | |
1063 | 35.1M | fn visit_0xfd_operator<T>( |
1064 | 35.1M | &mut self, |
1065 | 35.1M | pos: usize, |
1066 | 35.1M | visitor: &mut T, |
1067 | 35.1M | ) -> Result<<T as VisitOperator<'a>>::Output> |
1068 | 35.1M | where |
1069 | 35.1M | T: VisitOperator<'a>, |
1070 | 35.1M | { |
1071 | 35.1M | let code = self.read_var_u32()?; |
1072 | 35.1M | Ok(match code { |
1073 | 182k | 0x00 => visitor.visit_v128_load(self.read_memarg(4)?), |
1074 | 49.2k | 0x01 => visitor.visit_v128_load8x8_s(self.read_memarg(3)?), |
1075 | 102k | 0x02 => visitor.visit_v128_load8x8_u(self.read_memarg(3)?), |
1076 | 34.1k | 0x03 => visitor.visit_v128_load16x4_s(self.read_memarg(3)?), |
1077 | 36.8k | 0x04 => visitor.visit_v128_load16x4_u(self.read_memarg(3)?), |
1078 | 30.0k | 0x05 => visitor.visit_v128_load32x2_s(self.read_memarg(3)?), |
1079 | 35.7k | 0x06 => visitor.visit_v128_load32x2_u(self.read_memarg(3)?), |
1080 | 36.0k | 0x07 => visitor.visit_v128_load8_splat(self.read_memarg(0)?), |
1081 | 29.4k | 0x08 => visitor.visit_v128_load16_splat(self.read_memarg(1)?), |
1082 | 34.3k | 0x09 => visitor.visit_v128_load32_splat(self.read_memarg(2)?), |
1083 | 32.3k | 0x0a => visitor.visit_v128_load64_splat(self.read_memarg(3)?), |
1084 | | |
1085 | 36.0k | 0x0b => visitor.visit_v128_store(self.read_memarg(4)?), |
1086 | 9.32M | 0x0c => visitor.visit_v128_const(self.read_v128()?), |
1087 | | 0x0d => { |
1088 | 11.2k | let mut lanes: [u8; 16] = [0; 16]; |
1089 | 188k | for lane in &mut lanes { |
1090 | 177k | *lane = self.read_lane_index(32)? |
1091 | | } |
1092 | 11.0k | visitor.visit_i8x16_shuffle(lanes) |
1093 | | } |
1094 | | |
1095 | 21.4k | 0x0e => visitor.visit_i8x16_swizzle(), |
1096 | 184k | 0x0f => visitor.visit_i8x16_splat(), |
1097 | 130k | 0x10 => visitor.visit_i16x8_splat(), |
1098 | 112k | 0x11 => visitor.visit_i32x4_splat(), |
1099 | 73.7k | 0x12 => visitor.visit_i64x2_splat(), |
1100 | 75.8k | 0x13 => visitor.visit_f32x4_splat(), |
1101 | 69.3k | 0x14 => visitor.visit_f64x2_splat(), |
1102 | | |
1103 | 122k | 0x15 => visitor.visit_i8x16_extract_lane_s(self.read_lane_index(16)?), |
1104 | 94.0k | 0x16 => visitor.visit_i8x16_extract_lane_u(self.read_lane_index(16)?), |
1105 | 38.2k | 0x17 => visitor.visit_i8x16_replace_lane(self.read_lane_index(16)?), |
1106 | 93.7k | 0x18 => visitor.visit_i16x8_extract_lane_s(self.read_lane_index(8)?), |
1107 | 126k | 0x19 => visitor.visit_i16x8_extract_lane_u(self.read_lane_index(8)?), |
1108 | 21.1k | 0x1a => visitor.visit_i16x8_replace_lane(self.read_lane_index(8)?), |
1109 | 87.8k | 0x1b => visitor.visit_i32x4_extract_lane(self.read_lane_index(4)?), |
1110 | | |
1111 | 120k | 0x1c => visitor.visit_i32x4_replace_lane(self.read_lane_index(4)?), |
1112 | 99.7k | 0x1d => visitor.visit_i64x2_extract_lane(self.read_lane_index(2)?), |
1113 | 15.1k | 0x1e => visitor.visit_i64x2_replace_lane(self.read_lane_index(2)?), |
1114 | 159k | 0x1f => visitor.visit_f32x4_extract_lane(self.read_lane_index(4)?), |
1115 | 64.5k | 0x20 => visitor.visit_f32x4_replace_lane(self.read_lane_index(4)?), |
1116 | 98.9k | 0x21 => visitor.visit_f64x2_extract_lane(self.read_lane_index(2)?), |
1117 | 27.7k | 0x22 => visitor.visit_f64x2_replace_lane(self.read_lane_index(2)?), |
1118 | | |
1119 | 31.1k | 0x23 => visitor.visit_i8x16_eq(), |
1120 | 258k | 0x24 => visitor.visit_i8x16_ne(), |
1121 | 13.8k | 0x25 => visitor.visit_i8x16_lt_s(), |
1122 | 26.2k | 0x26 => visitor.visit_i8x16_lt_u(), |
1123 | 33.5k | 0x27 => visitor.visit_i8x16_gt_s(), |
1124 | 81.5k | 0x28 => visitor.visit_i8x16_gt_u(), |
1125 | 29.1k | 0x29 => visitor.visit_i8x16_le_s(), |
1126 | 28.4k | 0x2a => visitor.visit_i8x16_le_u(), |
1127 | 12.5k | 0x2b => visitor.visit_i8x16_ge_s(), |
1128 | 21.3k | 0x2c => visitor.visit_i8x16_ge_u(), |
1129 | 18.0k | 0x2d => visitor.visit_i16x8_eq(), |
1130 | 26.9k | 0x2e => visitor.visit_i16x8_ne(), |
1131 | 16.1k | 0x2f => visitor.visit_i16x8_lt_s(), |
1132 | 186k | 0x30 => visitor.visit_i16x8_lt_u(), |
1133 | 42.9k | 0x31 => visitor.visit_i16x8_gt_s(), |
1134 | 26.3k | 0x32 => visitor.visit_i16x8_gt_u(), |
1135 | 36.8k | 0x33 => visitor.visit_i16x8_le_s(), |
1136 | 174k | 0x34 => visitor.visit_i16x8_le_u(), |
1137 | 34.5k | 0x35 => visitor.visit_i16x8_ge_s(), |
1138 | 23.1k | 0x36 => visitor.visit_i16x8_ge_u(), |
1139 | 22.8k | 0x37 => visitor.visit_i32x4_eq(), |
1140 | 17.3k | 0x38 => visitor.visit_i32x4_ne(), |
1141 | 17.3k | 0x39 => visitor.visit_i32x4_lt_s(), |
1142 | 28.3k | 0x3a => visitor.visit_i32x4_lt_u(), |
1143 | 15.4k | 0x3b => visitor.visit_i32x4_gt_s(), |
1144 | 41.4k | 0x3c => visitor.visit_i32x4_gt_u(), |
1145 | 16.4k | 0x3d => visitor.visit_i32x4_le_s(), |
1146 | 13.7k | 0x3e => visitor.visit_i32x4_le_u(), |
1147 | 31.7k | 0x3f => visitor.visit_i32x4_ge_s(), |
1148 | 17.4k | 0x40 => visitor.visit_i32x4_ge_u(), |
1149 | 764k | 0x41 => visitor.visit_f32x4_eq(), |
1150 | 30.2k | 0x42 => visitor.visit_f32x4_ne(), |
1151 | 23.3k | 0x43 => visitor.visit_f32x4_lt(), |
1152 | 24.9k | 0x44 => visitor.visit_f32x4_gt(), |
1153 | 60.1k | 0x45 => visitor.visit_f32x4_le(), |
1154 | 33.8k | 0x46 => visitor.visit_f32x4_ge(), |
1155 | 871k | 0x47 => visitor.visit_f64x2_eq(), |
1156 | 15.4k | 0x48 => visitor.visit_f64x2_ne(), |
1157 | 20.1k | 0x49 => visitor.visit_f64x2_lt(), |
1158 | 32.1k | 0x4a => visitor.visit_f64x2_gt(), |
1159 | 22.6k | 0x4b => visitor.visit_f64x2_le(), |
1160 | 38.7k | 0x4c => visitor.visit_f64x2_ge(), |
1161 | 323k | 0x4d => visitor.visit_v128_not(), |
1162 | 26.2k | 0x4e => visitor.visit_v128_and(), |
1163 | 14.2k | 0x4f => visitor.visit_v128_andnot(), |
1164 | 35.8k | 0x50 => visitor.visit_v128_or(), |
1165 | 22.3k | 0x51 => visitor.visit_v128_xor(), |
1166 | 1.60M | 0x52 => visitor.visit_v128_bitselect(), |
1167 | 28.1k | 0x53 => visitor.visit_v128_any_true(), |
1168 | | |
1169 | | 0x54 => { |
1170 | 11.0k | let memarg = self.read_memarg(0)?; |
1171 | 11.0k | let lane = self.read_lane_index(16)?; |
1172 | 10.9k | visitor.visit_v128_load8_lane(memarg, lane) |
1173 | | } |
1174 | | 0x55 => { |
1175 | 15.3k | let memarg = self.read_memarg(1)?; |
1176 | 15.3k | let lane = self.read_lane_index(8)?; |
1177 | 15.3k | visitor.visit_v128_load16_lane(memarg, lane) |
1178 | | } |
1179 | | 0x56 => { |
1180 | 13.8k | let memarg = self.read_memarg(2)?; |
1181 | 13.8k | let lane = self.read_lane_index(4)?; |
1182 | 13.8k | visitor.visit_v128_load32_lane(memarg, lane) |
1183 | | } |
1184 | | 0x57 => { |
1185 | 28.9k | let memarg = self.read_memarg(3)?; |
1186 | 28.9k | let lane = self.read_lane_index(2)?; |
1187 | 28.9k | visitor.visit_v128_load64_lane(memarg, lane) |
1188 | | } |
1189 | | 0x58 => { |
1190 | 16.6k | let memarg = self.read_memarg(0)?; |
1191 | 16.6k | let lane = self.read_lane_index(16)?; |
1192 | 16.6k | visitor.visit_v128_store8_lane(memarg, lane) |
1193 | | } |
1194 | | 0x59 => { |
1195 | 11.0k | let memarg = self.read_memarg(1)?; |
1196 | 11.0k | let lane = self.read_lane_index(8)?; |
1197 | 11.0k | visitor.visit_v128_store16_lane(memarg, lane) |
1198 | | } |
1199 | | 0x5a => { |
1200 | 14.6k | let memarg = self.read_memarg(2)?; |
1201 | 14.5k | let lane = self.read_lane_index(4)?; |
1202 | 14.5k | visitor.visit_v128_store32_lane(memarg, lane) |
1203 | | } |
1204 | | 0x5b => { |
1205 | 17.0k | let memarg = self.read_memarg(3)?; |
1206 | 17.0k | let lane = self.read_lane_index(2)?; |
1207 | 17.0k | visitor.visit_v128_store64_lane(memarg, lane) |
1208 | | } |
1209 | | |
1210 | 89.9k | 0x5c => visitor.visit_v128_load32_zero(self.read_memarg(2)?), |
1211 | 52.6k | 0x5d => visitor.visit_v128_load64_zero(self.read_memarg(3)?), |
1212 | 435k | 0x5e => visitor.visit_f32x4_demote_f64x2_zero(), |
1213 | 215k | 0x5f => visitor.visit_f64x2_promote_low_f32x4(), |
1214 | 349k | 0x60 => visitor.visit_i8x16_abs(), |
1215 | 149k | 0x61 => visitor.visit_i8x16_neg(), |
1216 | 168k | 0x62 => visitor.visit_i8x16_popcnt(), |
1217 | 86.6k | 0x63 => visitor.visit_i8x16_all_true(), |
1218 | 149k | 0x64 => visitor.visit_i8x16_bitmask(), |
1219 | 65.4k | 0x65 => visitor.visit_i8x16_narrow_i16x8_s(), |
1220 | 17.7k | 0x66 => visitor.visit_i8x16_narrow_i16x8_u(), |
1221 | 158k | 0x67 => visitor.visit_f32x4_ceil(), |
1222 | 188k | 0x68 => visitor.visit_f32x4_floor(), |
1223 | 118k | 0x69 => visitor.visit_f32x4_trunc(), |
1224 | 158k | 0x6a => visitor.visit_f32x4_nearest(), |
1225 | 13.6k | 0x6b => visitor.visit_i8x16_shl(), |
1226 | 26.8k | 0x6c => visitor.visit_i8x16_shr_s(), |
1227 | 19.2k | 0x6d => visitor.visit_i8x16_shr_u(), |
1228 | 24.6k | 0x6e => visitor.visit_i8x16_add(), |
1229 | 75.4k | 0x6f => visitor.visit_i8x16_add_sat_s(), |
1230 | 23.3k | 0x70 => visitor.visit_i8x16_add_sat_u(), |
1231 | 28.1k | 0x71 => visitor.visit_i8x16_sub(), |
1232 | 15.6k | 0x72 => visitor.visit_i8x16_sub_sat_s(), |
1233 | 23.7k | 0x73 => visitor.visit_i8x16_sub_sat_u(), |
1234 | 175k | 0x74 => visitor.visit_f64x2_ceil(), |
1235 | 190k | 0x75 => visitor.visit_f64x2_floor(), |
1236 | 28.2k | 0x76 => visitor.visit_i8x16_min_s(), |
1237 | 16.0k | 0x77 => visitor.visit_i8x16_min_u(), |
1238 | 88.4k | 0x78 => visitor.visit_i8x16_max_s(), |
1239 | 23.1k | 0x79 => visitor.visit_i8x16_max_u(), |
1240 | 174k | 0x7a => visitor.visit_f64x2_trunc(), |
1241 | 28.6k | 0x7b => visitor.visit_i8x16_avgr_u(), |
1242 | 143k | 0x7c => visitor.visit_i16x8_extadd_pairwise_i8x16_s(), |
1243 | 311k | 0x7d => visitor.visit_i16x8_extadd_pairwise_i8x16_u(), |
1244 | 662k | 0x7e => visitor.visit_i32x4_extadd_pairwise_i16x8_s(), |
1245 | 352k | 0x7f => visitor.visit_i32x4_extadd_pairwise_i16x8_u(), |
1246 | 451k | 0x80 => visitor.visit_i16x8_abs(), |
1247 | 274k | 0x81 => visitor.visit_i16x8_neg(), |
1248 | 14.8k | 0x82 => visitor.visit_i16x8_q15mulr_sat_s(), |
1249 | 82.3k | 0x83 => visitor.visit_i16x8_all_true(), |
1250 | 134k | 0x84 => visitor.visit_i16x8_bitmask(), |
1251 | 14.6k | 0x85 => visitor.visit_i16x8_narrow_i32x4_s(), |
1252 | 12.6k | 0x86 => visitor.visit_i16x8_narrow_i32x4_u(), |
1253 | 215k | 0x87 => visitor.visit_i16x8_extend_low_i8x16_s(), |
1254 | 198k | 0x88 => visitor.visit_i16x8_extend_high_i8x16_s(), |
1255 | 198k | 0x89 => visitor.visit_i16x8_extend_low_i8x16_u(), |
1256 | 147k | 0x8a => visitor.visit_i16x8_extend_high_i8x16_u(), |
1257 | 14.5k | 0x8b => visitor.visit_i16x8_shl(), |
1258 | 13.0k | 0x8c => visitor.visit_i16x8_shr_s(), |
1259 | 16.4k | 0x8d => visitor.visit_i16x8_shr_u(), |
1260 | 43.8k | 0x8e => visitor.visit_i16x8_add(), |
1261 | 38.4k | 0x8f => visitor.visit_i16x8_add_sat_s(), |
1262 | 21.2k | 0x90 => visitor.visit_i16x8_add_sat_u(), |
1263 | 14.2k | 0x91 => visitor.visit_i16x8_sub(), |
1264 | 22.6k | 0x92 => visitor.visit_i16x8_sub_sat_s(), |
1265 | 30.8k | 0x93 => visitor.visit_i16x8_sub_sat_u(), |
1266 | 189k | 0x94 => visitor.visit_f64x2_nearest(), |
1267 | 23.3k | 0x95 => visitor.visit_i16x8_mul(), |
1268 | 17.7k | 0x96 => visitor.visit_i16x8_min_s(), |
1269 | 11.3k | 0x97 => visitor.visit_i16x8_min_u(), |
1270 | 14.5k | 0x98 => visitor.visit_i16x8_max_s(), |
1271 | 11.6k | 0x99 => visitor.visit_i16x8_max_u(), |
1272 | 15.7k | 0x9b => visitor.visit_i16x8_avgr_u(), |
1273 | 21.9k | 0x9c => visitor.visit_i16x8_extmul_low_i8x16_s(), |
1274 | 36.9k | 0x9d => visitor.visit_i16x8_extmul_high_i8x16_s(), |
1275 | 9.96k | 0x9e => visitor.visit_i16x8_extmul_low_i8x16_u(), |
1276 | 11.4k | 0x9f => visitor.visit_i16x8_extmul_high_i8x16_u(), |
1277 | 396k | 0xa0 => visitor.visit_i32x4_abs(), |
1278 | 248k | 0xa1 => visitor.visit_i32x4_neg(), |
1279 | 77.1k | 0xa3 => visitor.visit_i32x4_all_true(), |
1280 | 73.3k | 0xa4 => visitor.visit_i32x4_bitmask(), |
1281 | 161k | 0xa7 => visitor.visit_i32x4_extend_low_i16x8_s(), |
1282 | 222k | 0xa8 => visitor.visit_i32x4_extend_high_i16x8_s(), |
1283 | 215k | 0xa9 => visitor.visit_i32x4_extend_low_i16x8_u(), |
1284 | 238k | 0xaa => visitor.visit_i32x4_extend_high_i16x8_u(), |
1285 | 10.0k | 0xab => visitor.visit_i32x4_shl(), |
1286 | 23.0k | 0xac => visitor.visit_i32x4_shr_s(), |
1287 | 7.25k | 0xad => visitor.visit_i32x4_shr_u(), |
1288 | 12.5k | 0xae => visitor.visit_i32x4_add(), |
1289 | 35.6k | 0xb1 => visitor.visit_i32x4_sub(), |
1290 | 13.0k | 0xb5 => visitor.visit_i32x4_mul(), |
1291 | 14.3k | 0xb6 => visitor.visit_i32x4_min_s(), |
1292 | 25.9k | 0xb7 => visitor.visit_i32x4_min_u(), |
1293 | 15.1k | 0xb8 => visitor.visit_i32x4_max_s(), |
1294 | 11.8k | 0xb9 => visitor.visit_i32x4_max_u(), |
1295 | 13.2k | 0xba => visitor.visit_i32x4_dot_i16x8_s(), |
1296 | 10.1k | 0xbc => visitor.visit_i32x4_extmul_low_i16x8_s(), |
1297 | 19.3k | 0xbd => visitor.visit_i32x4_extmul_high_i16x8_s(), |
1298 | 49.0k | 0xbe => visitor.visit_i32x4_extmul_low_i16x8_u(), |
1299 | 7.56k | 0xbf => visitor.visit_i32x4_extmul_high_i16x8_u(), |
1300 | 661k | 0xc0 => visitor.visit_i64x2_abs(), |
1301 | 474k | 0xc1 => visitor.visit_i64x2_neg(), |
1302 | 151k | 0xc3 => visitor.visit_i64x2_all_true(), |
1303 | 71.6k | 0xc4 => visitor.visit_i64x2_bitmask(), |
1304 | 609k | 0xc7 => visitor.visit_i64x2_extend_low_i32x4_s(), |
1305 | 379k | 0xc8 => visitor.visit_i64x2_extend_high_i32x4_s(), |
1306 | 415k | 0xc9 => visitor.visit_i64x2_extend_low_i32x4_u(), |
1307 | 336k | 0xca => visitor.visit_i64x2_extend_high_i32x4_u(), |
1308 | 12.2k | 0xcb => visitor.visit_i64x2_shl(), |
1309 | 10.7k | 0xcc => visitor.visit_i64x2_shr_s(), |
1310 | 8.93k | 0xcd => visitor.visit_i64x2_shr_u(), |
1311 | 20.2k | 0xce => visitor.visit_i64x2_add(), |
1312 | 19.2k | 0xd1 => visitor.visit_i64x2_sub(), |
1313 | 18.6k | 0xd5 => visitor.visit_i64x2_mul(), |
1314 | 19.1k | 0xd6 => visitor.visit_i64x2_eq(), |
1315 | 45.7k | 0xd7 => visitor.visit_i64x2_ne(), |
1316 | 19.4k | 0xd8 => visitor.visit_i64x2_lt_s(), |
1317 | 46.1k | 0xd9 => visitor.visit_i64x2_gt_s(), |
1318 | 22.9k | 0xda => visitor.visit_i64x2_le_s(), |
1319 | 12.8k | 0xdb => visitor.visit_i64x2_ge_s(), |
1320 | 27.9k | 0xdc => visitor.visit_i64x2_extmul_low_i32x4_s(), |
1321 | 28.1k | 0xdd => visitor.visit_i64x2_extmul_high_i32x4_s(), |
1322 | 12.1k | 0xde => visitor.visit_i64x2_extmul_low_i32x4_u(), |
1323 | 54.8k | 0xdf => visitor.visit_i64x2_extmul_high_i32x4_u(), |
1324 | 256k | 0xe0 => visitor.visit_f32x4_abs(), |
1325 | 155k | 0xe1 => visitor.visit_f32x4_neg(), |
1326 | 169k | 0xe3 => visitor.visit_f32x4_sqrt(), |
1327 | 17.5k | 0xe4 => visitor.visit_f32x4_add(), |
1328 | 34.8k | 0xe5 => visitor.visit_f32x4_sub(), |
1329 | 32.9k | 0xe6 => visitor.visit_f32x4_mul(), |
1330 | 13.3k | 0xe7 => visitor.visit_f32x4_div(), |
1331 | 26.2k | 0xe8 => visitor.visit_f32x4_min(), |
1332 | 31.8k | 0xe9 => visitor.visit_f32x4_max(), |
1333 | 27.1k | 0xea => visitor.visit_f32x4_pmin(), |
1334 | 14.3k | 0xeb => visitor.visit_f32x4_pmax(), |
1335 | 276k | 0xec => visitor.visit_f64x2_abs(), |
1336 | 277k | 0xed => visitor.visit_f64x2_neg(), |
1337 | 209k | 0xef => visitor.visit_f64x2_sqrt(), |
1338 | 19.6k | 0xf0 => visitor.visit_f64x2_add(), |
1339 | 16.4k | 0xf1 => visitor.visit_f64x2_sub(), |
1340 | 36.7k | 0xf2 => visitor.visit_f64x2_mul(), |
1341 | 20.3k | 0xf3 => visitor.visit_f64x2_div(), |
1342 | 16.4k | 0xf4 => visitor.visit_f64x2_min(), |
1343 | 16.1k | 0xf5 => visitor.visit_f64x2_max(), |
1344 | 11.3k | 0xf6 => visitor.visit_f64x2_pmin(), |
1345 | 16.4k | 0xf7 => visitor.visit_f64x2_pmax(), |
1346 | 228k | 0xf8 => visitor.visit_i32x4_trunc_sat_f32x4_s(), |
1347 | 506k | 0xf9 => visitor.visit_i32x4_trunc_sat_f32x4_u(), |
1348 | 254k | 0xfa => visitor.visit_f32x4_convert_i32x4_s(), |
1349 | 385k | 0xfb => visitor.visit_f32x4_convert_i32x4_u(), |
1350 | 355k | 0xfc => visitor.visit_i32x4_trunc_sat_f64x2_s_zero(), |
1351 | 279k | 0xfd => visitor.visit_i32x4_trunc_sat_f64x2_u_zero(), |
1352 | 212k | 0xfe => visitor.visit_f64x2_convert_low_i32x4_s(), |
1353 | 232k | 0xff => visitor.visit_f64x2_convert_low_i32x4_u(), |
1354 | 14.2k | 0x100 => visitor.visit_i8x16_relaxed_swizzle(), |
1355 | 165k | 0x101 => visitor.visit_i32x4_relaxed_trunc_f32x4_s(), |
1356 | 396k | 0x102 => visitor.visit_i32x4_relaxed_trunc_f32x4_u(), |
1357 | 215k | 0x103 => visitor.visit_i32x4_relaxed_trunc_f64x2_s_zero(), |
1358 | 147k | 0x104 => visitor.visit_i32x4_relaxed_trunc_f64x2_u_zero(), |
1359 | 8.30k | 0x105 => visitor.visit_f32x4_relaxed_madd(), |
1360 | 10.9k | 0x106 => visitor.visit_f32x4_relaxed_nmadd(), |
1361 | 8.45k | 0x107 => visitor.visit_f64x2_relaxed_madd(), |
1362 | 11.3k | 0x108 => visitor.visit_f64x2_relaxed_nmadd(), |
1363 | 11.9k | 0x109 => visitor.visit_i8x16_relaxed_laneselect(), |
1364 | 24.8k | 0x10a => visitor.visit_i16x8_relaxed_laneselect(), |
1365 | 15.4k | 0x10b => visitor.visit_i32x4_relaxed_laneselect(), |
1366 | 22.0k | 0x10c => visitor.visit_i64x2_relaxed_laneselect(), |
1367 | 30.0k | 0x10d => visitor.visit_f32x4_relaxed_min(), |
1368 | 19.4k | 0x10e => visitor.visit_f32x4_relaxed_max(), |
1369 | 11.1k | 0x10f => visitor.visit_f64x2_relaxed_min(), |
1370 | 16.5k | 0x110 => visitor.visit_f64x2_relaxed_max(), |
1371 | 27.9k | 0x111 => visitor.visit_i16x8_relaxed_q15mulr_s(), |
1372 | 9.86k | 0x112 => visitor.visit_i16x8_relaxed_dot_i8x16_i7x16_s(), |
1373 | 14.3k | 0x113 => visitor.visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(), |
1374 | | |
1375 | 302 | _ => bail!(pos, "unknown 0xfd subopcode: 0x{code:x}"), |
1376 | | }) |
1377 | 35.1M | } <wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<wasmprinter::operator::PrintOperator> Line | Count | Source | 1063 | 16.5M | fn visit_0xfd_operator<T>( | 1064 | 16.5M | &mut self, | 1065 | 16.5M | pos: usize, | 1066 | 16.5M | visitor: &mut T, | 1067 | 16.5M | ) -> Result<<T as VisitOperator<'a>>::Output> | 1068 | 16.5M | where | 1069 | 16.5M | T: VisitOperator<'a>, | 1070 | 16.5M | { | 1071 | 16.5M | let code = self.read_var_u32()?; | 1072 | 16.5M | Ok(match code { | 1073 | 40.5k | 0x00 => visitor.visit_v128_load(self.read_memarg(4)?), | 1074 | 18.5k | 0x01 => visitor.visit_v128_load8x8_s(self.read_memarg(3)?), | 1075 | 51.5k | 0x02 => visitor.visit_v128_load8x8_u(self.read_memarg(3)?), | 1076 | 15.8k | 0x03 => visitor.visit_v128_load16x4_s(self.read_memarg(3)?), | 1077 | 13.7k | 0x04 => visitor.visit_v128_load16x4_u(self.read_memarg(3)?), | 1078 | 10.4k | 0x05 => visitor.visit_v128_load32x2_s(self.read_memarg(3)?), | 1079 | 14.1k | 0x06 => visitor.visit_v128_load32x2_u(self.read_memarg(3)?), | 1080 | 12.7k | 0x07 => visitor.visit_v128_load8_splat(self.read_memarg(0)?), | 1081 | 13.2k | 0x08 => visitor.visit_v128_load16_splat(self.read_memarg(1)?), | 1082 | 13.8k | 0x09 => visitor.visit_v128_load32_splat(self.read_memarg(2)?), | 1083 | 15.5k | 0x0a => visitor.visit_v128_load64_splat(self.read_memarg(3)?), | 1084 | | | 1085 | 10.3k | 0x0b => visitor.visit_v128_store(self.read_memarg(4)?), | 1086 | 4.66M | 0x0c => visitor.visit_v128_const(self.read_v128()?), | 1087 | | 0x0d => { | 1088 | 4.21k | let mut lanes: [u8; 16] = [0; 16]; | 1089 | 71.5k | for lane in &mut lanes { | 1090 | 67.3k | *lane = self.read_lane_index(32)? | 1091 | | } | 1092 | 4.20k | visitor.visit_i8x16_shuffle(lanes) | 1093 | | } | 1094 | | | 1095 | 5.95k | 0x0e => visitor.visit_i8x16_swizzle(), | 1096 | 104k | 0x0f => visitor.visit_i8x16_splat(), | 1097 | 69.0k | 0x10 => visitor.visit_i16x8_splat(), | 1098 | 56.3k | 0x11 => visitor.visit_i32x4_splat(), | 1099 | 32.3k | 0x12 => visitor.visit_i64x2_splat(), | 1100 | 35.3k | 0x13 => visitor.visit_f32x4_splat(), | 1101 | 33.9k | 0x14 => visitor.visit_f64x2_splat(), | 1102 | | | 1103 | 55.1k | 0x15 => visitor.visit_i8x16_extract_lane_s(self.read_lane_index(16)?), | 1104 | 45.5k | 0x16 => visitor.visit_i8x16_extract_lane_u(self.read_lane_index(16)?), | 1105 | 17.6k | 0x17 => visitor.visit_i8x16_replace_lane(self.read_lane_index(16)?), | 1106 | 44.5k | 0x18 => visitor.visit_i16x8_extract_lane_s(self.read_lane_index(8)?), | 1107 | 66.2k | 0x19 => visitor.visit_i16x8_extract_lane_u(self.read_lane_index(8)?), | 1108 | 6.18k | 0x1a => visitor.visit_i16x8_replace_lane(self.read_lane_index(8)?), | 1109 | 40.1k | 0x1b => visitor.visit_i32x4_extract_lane(self.read_lane_index(4)?), | 1110 | | | 1111 | 6.74k | 0x1c => visitor.visit_i32x4_replace_lane(self.read_lane_index(4)?), | 1112 | 47.9k | 0x1d => visitor.visit_i64x2_extract_lane(self.read_lane_index(2)?), | 1113 | 6.70k | 0x1e => visitor.visit_i64x2_replace_lane(self.read_lane_index(2)?), | 1114 | 89.3k | 0x1f => visitor.visit_f32x4_extract_lane(self.read_lane_index(4)?), | 1115 | 21.3k | 0x20 => visitor.visit_f32x4_replace_lane(self.read_lane_index(4)?), | 1116 | 49.1k | 0x21 => visitor.visit_f64x2_extract_lane(self.read_lane_index(2)?), | 1117 | 13.8k | 0x22 => visitor.visit_f64x2_replace_lane(self.read_lane_index(2)?), | 1118 | | | 1119 | 14.0k | 0x23 => visitor.visit_i8x16_eq(), | 1120 | 6.45k | 0x24 => visitor.visit_i8x16_ne(), | 1121 | 6.74k | 0x25 => visitor.visit_i8x16_lt_s(), | 1122 | 13.7k | 0x26 => visitor.visit_i8x16_lt_u(), | 1123 | 14.9k | 0x27 => visitor.visit_i8x16_gt_s(), | 1124 | 34.8k | 0x28 => visitor.visit_i8x16_gt_u(), | 1125 | 12.7k | 0x29 => visitor.visit_i8x16_le_s(), | 1126 | 10.1k | 0x2a => visitor.visit_i8x16_le_u(), | 1127 | 4.41k | 0x2b => visitor.visit_i8x16_ge_s(), | 1128 | 7.09k | 0x2c => visitor.visit_i8x16_ge_u(), | 1129 | 7.53k | 0x2d => visitor.visit_i16x8_eq(), | 1130 | 10.8k | 0x2e => visitor.visit_i16x8_ne(), | 1131 | 7.95k | 0x2f => visitor.visit_i16x8_lt_s(), | 1132 | 71.6k | 0x30 => visitor.visit_i16x8_lt_u(), | 1133 | 17.0k | 0x31 => visitor.visit_i16x8_gt_s(), | 1134 | 9.16k | 0x32 => visitor.visit_i16x8_gt_u(), | 1135 | 8.69k | 0x33 => visitor.visit_i16x8_le_s(), | 1136 | 29.2k | 0x34 => visitor.visit_i16x8_le_u(), | 1137 | 19.5k | 0x35 => visitor.visit_i16x8_ge_s(), | 1138 | 10.6k | 0x36 => visitor.visit_i16x8_ge_u(), | 1139 | 9.81k | 0x37 => visitor.visit_i32x4_eq(), | 1140 | 7.73k | 0x38 => visitor.visit_i32x4_ne(), | 1141 | 6.17k | 0x39 => visitor.visit_i32x4_lt_s(), | 1142 | 11.4k | 0x3a => visitor.visit_i32x4_lt_u(), | 1143 | 4.82k | 0x3b => visitor.visit_i32x4_gt_s(), | 1144 | 4.11k | 0x3c => visitor.visit_i32x4_gt_u(), | 1145 | 8.04k | 0x3d => visitor.visit_i32x4_le_s(), | 1146 | 6.03k | 0x3e => visitor.visit_i32x4_le_u(), | 1147 | 16.5k | 0x3f => visitor.visit_i32x4_ge_s(), | 1148 | 6.52k | 0x40 => visitor.visit_i32x4_ge_u(), | 1149 | 346k | 0x41 => visitor.visit_f32x4_eq(), | 1150 | 17.3k | 0x42 => visitor.visit_f32x4_ne(), | 1151 | 12.6k | 0x43 => visitor.visit_f32x4_lt(), | 1152 | 8.34k | 0x44 => visitor.visit_f32x4_gt(), | 1153 | 22.2k | 0x45 => visitor.visit_f32x4_le(), | 1154 | 20.4k | 0x46 => visitor.visit_f32x4_ge(), | 1155 | 413k | 0x47 => visitor.visit_f64x2_eq(), | 1156 | 5.30k | 0x48 => visitor.visit_f64x2_ne(), | 1157 | 8.24k | 0x49 => visitor.visit_f64x2_lt(), | 1158 | 16.2k | 0x4a => visitor.visit_f64x2_gt(), | 1159 | 13.2k | 0x4b => visitor.visit_f64x2_le(), | 1160 | 5.61k | 0x4c => visitor.visit_f64x2_ge(), | 1161 | 116k | 0x4d => visitor.visit_v128_not(), | 1162 | 10.2k | 0x4e => visitor.visit_v128_and(), | 1163 | 6.82k | 0x4f => visitor.visit_v128_andnot(), | 1164 | 20.7k | 0x50 => visitor.visit_v128_or(), | 1165 | 9.00k | 0x51 => visitor.visit_v128_xor(), | 1166 | 740k | 0x52 => visitor.visit_v128_bitselect(), | 1167 | 13.9k | 0x53 => visitor.visit_v128_any_true(), | 1168 | | | 1169 | | 0x54 => { | 1170 | 1.93k | let memarg = self.read_memarg(0)?; | 1171 | 1.93k | let lane = self.read_lane_index(16)?; | 1172 | 1.93k | visitor.visit_v128_load8_lane(memarg, lane) | 1173 | | } | 1174 | | 0x55 => { | 1175 | 3.80k | let memarg = self.read_memarg(1)?; | 1176 | 3.80k | let lane = self.read_lane_index(8)?; | 1177 | 3.80k | visitor.visit_v128_load16_lane(memarg, lane) | 1178 | | } | 1179 | | 0x56 => { | 1180 | 2.82k | let memarg = self.read_memarg(2)?; | 1181 | 2.82k | let lane = self.read_lane_index(4)?; | 1182 | 2.82k | visitor.visit_v128_load32_lane(memarg, lane) | 1183 | | } | 1184 | | 0x57 => { | 1185 | 10.8k | let memarg = self.read_memarg(3)?; | 1186 | 10.8k | let lane = self.read_lane_index(2)?; | 1187 | 10.8k | visitor.visit_v128_load64_lane(memarg, lane) | 1188 | | } | 1189 | | 0x58 => { | 1190 | 5.10k | let memarg = self.read_memarg(0)?; | 1191 | 5.10k | let lane = self.read_lane_index(16)?; | 1192 | 5.10k | visitor.visit_v128_store8_lane(memarg, lane) | 1193 | | } | 1194 | | 0x59 => { | 1195 | 1.50k | let memarg = self.read_memarg(1)?; | 1196 | 1.50k | let lane = self.read_lane_index(8)?; | 1197 | 1.49k | visitor.visit_v128_store16_lane(memarg, lane) | 1198 | | } | 1199 | | 0x5a => { | 1200 | 4.82k | let memarg = self.read_memarg(2)?; | 1201 | 4.82k | let lane = self.read_lane_index(4)?; | 1202 | 4.81k | visitor.visit_v128_store32_lane(memarg, lane) | 1203 | | } | 1204 | | 0x5b => { | 1205 | 5.69k | let memarg = self.read_memarg(3)?; | 1206 | 5.69k | let lane = self.read_lane_index(2)?; | 1207 | 5.69k | visitor.visit_v128_store64_lane(memarg, lane) | 1208 | | } | 1209 | | | 1210 | 52.7k | 0x5c => visitor.visit_v128_load32_zero(self.read_memarg(2)?), | 1211 | 25.5k | 0x5d => visitor.visit_v128_load64_zero(self.read_memarg(3)?), | 1212 | 266k | 0x5e => visitor.visit_f32x4_demote_f64x2_zero(), | 1213 | 107k | 0x5f => visitor.visit_f64x2_promote_low_f32x4(), | 1214 | 185k | 0x60 => visitor.visit_i8x16_abs(), | 1215 | 74.4k | 0x61 => visitor.visit_i8x16_neg(), | 1216 | 75.7k | 0x62 => visitor.visit_i8x16_popcnt(), | 1217 | 44.8k | 0x63 => visitor.visit_i8x16_all_true(), | 1218 | 83.6k | 0x64 => visitor.visit_i8x16_bitmask(), | 1219 | 24.9k | 0x65 => visitor.visit_i8x16_narrow_i16x8_s(), | 1220 | 7.58k | 0x66 => visitor.visit_i8x16_narrow_i16x8_u(), | 1221 | 73.8k | 0x67 => visitor.visit_f32x4_ceil(), | 1222 | 75.7k | 0x68 => visitor.visit_f32x4_floor(), | 1223 | 49.9k | 0x69 => visitor.visit_f32x4_trunc(), | 1224 | 78.7k | 0x6a => visitor.visit_f32x4_nearest(), | 1225 | 5.90k | 0x6b => visitor.visit_i8x16_shl(), | 1226 | 12.2k | 0x6c => visitor.visit_i8x16_shr_s(), | 1227 | 9.06k | 0x6d => visitor.visit_i8x16_shr_u(), | 1228 | 8.05k | 0x6e => visitor.visit_i8x16_add(), | 1229 | 28.8k | 0x6f => visitor.visit_i8x16_add_sat_s(), | 1230 | 11.7k | 0x70 => visitor.visit_i8x16_add_sat_u(), | 1231 | 12.6k | 0x71 => visitor.visit_i8x16_sub(), | 1232 | 8.00k | 0x72 => visitor.visit_i8x16_sub_sat_s(), | 1233 | 12.2k | 0x73 => visitor.visit_i8x16_sub_sat_u(), | 1234 | 84.2k | 0x74 => visitor.visit_f64x2_ceil(), | 1235 | 84.4k | 0x75 => visitor.visit_f64x2_floor(), | 1236 | 16.1k | 0x76 => visitor.visit_i8x16_min_s(), | 1237 | 5.10k | 0x77 => visitor.visit_i8x16_min_u(), | 1238 | 54.8k | 0x78 => visitor.visit_i8x16_max_s(), | 1239 | 14.0k | 0x79 => visitor.visit_i8x16_max_u(), | 1240 | 61.3k | 0x7a => visitor.visit_f64x2_trunc(), | 1241 | 14.1k | 0x7b => visitor.visit_i8x16_avgr_u(), | 1242 | 77.4k | 0x7c => visitor.visit_i16x8_extadd_pairwise_i8x16_s(), | 1243 | 136k | 0x7d => visitor.visit_i16x8_extadd_pairwise_i8x16_u(), | 1244 | 289k | 0x7e => visitor.visit_i32x4_extadd_pairwise_i16x8_s(), | 1245 | 106k | 0x7f => visitor.visit_i32x4_extadd_pairwise_i16x8_u(), | 1246 | 276k | 0x80 => visitor.visit_i16x8_abs(), | 1247 | 160k | 0x81 => visitor.visit_i16x8_neg(), | 1248 | 6.38k | 0x82 => visitor.visit_i16x8_q15mulr_sat_s(), | 1249 | 38.6k | 0x83 => visitor.visit_i16x8_all_true(), | 1250 | 59.1k | 0x84 => visitor.visit_i16x8_bitmask(), | 1251 | 4.03k | 0x85 => visitor.visit_i16x8_narrow_i32x4_s(), | 1252 | 5.37k | 0x86 => visitor.visit_i16x8_narrow_i32x4_u(), | 1253 | 105k | 0x87 => visitor.visit_i16x8_extend_low_i8x16_s(), | 1254 | 101k | 0x88 => visitor.visit_i16x8_extend_high_i8x16_s(), | 1255 | 72.2k | 0x89 => visitor.visit_i16x8_extend_low_i8x16_u(), | 1256 | 63.4k | 0x8a => visitor.visit_i16x8_extend_high_i8x16_u(), | 1257 | 7.52k | 0x8b => visitor.visit_i16x8_shl(), | 1258 | 6.56k | 0x8c => visitor.visit_i16x8_shr_s(), | 1259 | 9.16k | 0x8d => visitor.visit_i16x8_shr_u(), | 1260 | 4.79k | 0x8e => visitor.visit_i16x8_add(), | 1261 | 14.4k | 0x8f => visitor.visit_i16x8_add_sat_s(), | 1262 | 11.9k | 0x90 => visitor.visit_i16x8_add_sat_u(), | 1263 | 6.61k | 0x91 => visitor.visit_i16x8_sub(), | 1264 | 9.90k | 0x92 => visitor.visit_i16x8_sub_sat_s(), | 1265 | 16.9k | 0x93 => visitor.visit_i16x8_sub_sat_u(), | 1266 | 76.7k | 0x94 => visitor.visit_f64x2_nearest(), | 1267 | 8.61k | 0x95 => visitor.visit_i16x8_mul(), | 1268 | 6.11k | 0x96 => visitor.visit_i16x8_min_s(), | 1269 | 5.37k | 0x97 => visitor.visit_i16x8_min_u(), | 1270 | 7.14k | 0x98 => visitor.visit_i16x8_max_s(), | 1271 | 5.63k | 0x99 => visitor.visit_i16x8_max_u(), | 1272 | 7.09k | 0x9b => visitor.visit_i16x8_avgr_u(), | 1273 | 6.72k | 0x9c => visitor.visit_i16x8_extmul_low_i8x16_s(), | 1274 | 22.3k | 0x9d => visitor.visit_i16x8_extmul_high_i8x16_s(), | 1275 | 3.89k | 0x9e => visitor.visit_i16x8_extmul_low_i8x16_u(), | 1276 | 5.08k | 0x9f => visitor.visit_i16x8_extmul_high_i8x16_u(), | 1277 | 239k | 0xa0 => visitor.visit_i32x4_abs(), | 1278 | 110k | 0xa1 => visitor.visit_i32x4_neg(), | 1279 | 34.8k | 0xa3 => visitor.visit_i32x4_all_true(), | 1280 | 35.1k | 0xa4 => visitor.visit_i32x4_bitmask(), | 1281 | 76.3k | 0xa7 => visitor.visit_i32x4_extend_low_i16x8_s(), | 1282 | 112k | 0xa8 => visitor.visit_i32x4_extend_high_i16x8_s(), | 1283 | 119k | 0xa9 => visitor.visit_i32x4_extend_low_i16x8_u(), | 1284 | 124k | 0xaa => visitor.visit_i32x4_extend_high_i16x8_u(), | 1285 | 4.47k | 0xab => visitor.visit_i32x4_shl(), | 1286 | 6.69k | 0xac => visitor.visit_i32x4_shr_s(), | 1287 | 2.32k | 0xad => visitor.visit_i32x4_shr_u(), | 1288 | 4.03k | 0xae => visitor.visit_i32x4_add(), | 1289 | 15.1k | 0xb1 => visitor.visit_i32x4_sub(), | 1290 | 5.72k | 0xb5 => visitor.visit_i32x4_mul(), | 1291 | 6.38k | 0xb6 => visitor.visit_i32x4_min_s(), | 1292 | 10.9k | 0xb7 => visitor.visit_i32x4_min_u(), | 1293 | 7.67k | 0xb8 => visitor.visit_i32x4_max_s(), | 1294 | 6.42k | 0xb9 => visitor.visit_i32x4_max_u(), | 1295 | 6.95k | 0xba => visitor.visit_i32x4_dot_i16x8_s(), | 1296 | 3.14k | 0xbc => visitor.visit_i32x4_extmul_low_i16x8_s(), | 1297 | 10.1k | 0xbd => visitor.visit_i32x4_extmul_high_i16x8_s(), | 1298 | 27.6k | 0xbe => visitor.visit_i32x4_extmul_low_i16x8_u(), | 1299 | 3.32k | 0xbf => visitor.visit_i32x4_extmul_high_i16x8_u(), | 1300 | 236k | 0xc0 => visitor.visit_i64x2_abs(), | 1301 | 198k | 0xc1 => visitor.visit_i64x2_neg(), | 1302 | 70.0k | 0xc3 => visitor.visit_i64x2_all_true(), | 1303 | 34.7k | 0xc4 => visitor.visit_i64x2_bitmask(), | 1304 | 324k | 0xc7 => visitor.visit_i64x2_extend_low_i32x4_s(), | 1305 | 148k | 0xc8 => visitor.visit_i64x2_extend_high_i32x4_s(), | 1306 | 234k | 0xc9 => visitor.visit_i64x2_extend_low_i32x4_u(), | 1307 | 121k | 0xca => visitor.visit_i64x2_extend_high_i32x4_u(), | 1308 | 4.93k | 0xcb => visitor.visit_i64x2_shl(), | 1309 | 4.07k | 0xcc => visitor.visit_i64x2_shr_s(), | 1310 | 3.15k | 0xcd => visitor.visit_i64x2_shr_u(), | 1311 | 7.48k | 0xce => visitor.visit_i64x2_add(), | 1312 | 8.12k | 0xd1 => visitor.visit_i64x2_sub(), | 1313 | 8.77k | 0xd5 => visitor.visit_i64x2_mul(), | 1314 | 9.22k | 0xd6 => visitor.visit_i64x2_eq(), | 1315 | 19.2k | 0xd7 => visitor.visit_i64x2_ne(), | 1316 | 10.1k | 0xd8 => visitor.visit_i64x2_lt_s(), | 1317 | 25.3k | 0xd9 => visitor.visit_i64x2_gt_s(), | 1318 | 10.3k | 0xda => visitor.visit_i64x2_le_s(), | 1319 | 5.61k | 0xdb => visitor.visit_i64x2_ge_s(), | 1320 | 6.11k | 0xdc => visitor.visit_i64x2_extmul_low_i32x4_s(), | 1321 | 15.6k | 0xdd => visitor.visit_i64x2_extmul_high_i32x4_s(), | 1322 | 6.14k | 0xde => visitor.visit_i64x2_extmul_low_i32x4_u(), | 1323 | 27.1k | 0xdf => visitor.visit_i64x2_extmul_high_i32x4_u(), | 1324 | 132k | 0xe0 => visitor.visit_f32x4_abs(), | 1325 | 83.8k | 0xe1 => visitor.visit_f32x4_neg(), | 1326 | 75.6k | 0xe3 => visitor.visit_f32x4_sqrt(), | 1327 | 9.23k | 0xe4 => visitor.visit_f32x4_add(), | 1328 | 20.7k | 0xe5 => visitor.visit_f32x4_sub(), | 1329 | 16.5k | 0xe6 => visitor.visit_f32x4_mul(), | 1330 | 5.51k | 0xe7 => visitor.visit_f32x4_div(), | 1331 | 13.4k | 0xe8 => visitor.visit_f32x4_min(), | 1332 | 17.4k | 0xe9 => visitor.visit_f32x4_max(), | 1333 | 6.92k | 0xea => visitor.visit_f32x4_pmin(), | 1334 | 7.00k | 0xeb => visitor.visit_f32x4_pmax(), | 1335 | 118k | 0xec => visitor.visit_f64x2_abs(), | 1336 | 155k | 0xed => visitor.visit_f64x2_neg(), | 1337 | 115k | 0xef => visitor.visit_f64x2_sqrt(), | 1338 | 11.1k | 0xf0 => visitor.visit_f64x2_add(), | 1339 | 6.79k | 0xf1 => visitor.visit_f64x2_sub(), | 1340 | 21.2k | 0xf2 => visitor.visit_f64x2_mul(), | 1341 | 10.8k | 0xf3 => visitor.visit_f64x2_div(), | 1342 | 6.94k | 0xf4 => visitor.visit_f64x2_min(), | 1343 | 7.20k | 0xf5 => visitor.visit_f64x2_max(), | 1344 | 3.85k | 0xf6 => visitor.visit_f64x2_pmin(), | 1345 | 5.63k | 0xf7 => visitor.visit_f64x2_pmax(), | 1346 | 97.3k | 0xf8 => visitor.visit_i32x4_trunc_sat_f32x4_s(), | 1347 | 286k | 0xf9 => visitor.visit_i32x4_trunc_sat_f32x4_u(), | 1348 | 132k | 0xfa => visitor.visit_f32x4_convert_i32x4_s(), | 1349 | 137k | 0xfb => visitor.visit_f32x4_convert_i32x4_u(), | 1350 | 152k | 0xfc => visitor.visit_i32x4_trunc_sat_f64x2_s_zero(), | 1351 | 167k | 0xfd => visitor.visit_i32x4_trunc_sat_f64x2_u_zero(), | 1352 | 87.3k | 0xfe => visitor.visit_f64x2_convert_low_i32x4_s(), | 1353 | 117k | 0xff => visitor.visit_f64x2_convert_low_i32x4_u(), | 1354 | 7.95k | 0x100 => visitor.visit_i8x16_relaxed_swizzle(), | 1355 | 80.2k | 0x101 => visitor.visit_i32x4_relaxed_trunc_f32x4_s(), | 1356 | 171k | 0x102 => visitor.visit_i32x4_relaxed_trunc_f32x4_u(), | 1357 | 113k | 0x103 => visitor.visit_i32x4_relaxed_trunc_f64x2_s_zero(), | 1358 | 81.2k | 0x104 => visitor.visit_i32x4_relaxed_trunc_f64x2_u_zero(), | 1359 | 1.57k | 0x105 => visitor.visit_f32x4_relaxed_madd(), | 1360 | 4.61k | 0x106 => visitor.visit_f32x4_relaxed_nmadd(), | 1361 | 4.73k | 0x107 => visitor.visit_f64x2_relaxed_madd(), | 1362 | 5.49k | 0x108 => visitor.visit_f64x2_relaxed_nmadd(), | 1363 | 6.61k | 0x109 => visitor.visit_i8x16_relaxed_laneselect(), | 1364 | 15.1k | 0x10a => visitor.visit_i16x8_relaxed_laneselect(), | 1365 | 6.82k | 0x10b => visitor.visit_i32x4_relaxed_laneselect(), | 1366 | 13.7k | 0x10c => visitor.visit_i64x2_relaxed_laneselect(), | 1367 | 14.9k | 0x10d => visitor.visit_f32x4_relaxed_min(), | 1368 | 8.10k | 0x10e => visitor.visit_f32x4_relaxed_max(), | 1369 | 5.44k | 0x10f => visitor.visit_f64x2_relaxed_min(), | 1370 | 6.53k | 0x110 => visitor.visit_f64x2_relaxed_max(), | 1371 | 6.51k | 0x111 => visitor.visit_i16x8_relaxed_q15mulr_s(), | 1372 | 4.48k | 0x112 => visitor.visit_i16x8_relaxed_dot_i8x16_i7x16_s(), | 1373 | 8.63k | 0x113 => visitor.visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(), | 1374 | | | 1375 | 28 | _ => bail!(pos, "unknown 0xfd subopcode: 0x{code:x}"), | 1376 | | }) | 1377 | 16.5M | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<<wasmparser::validator::core::ModuleState>::check_const_expr::VisitConstOperator> Line | Count | Source | 1063 | 23.6k | fn visit_0xfd_operator<T>( | 1064 | 23.6k | &mut self, | 1065 | 23.6k | pos: usize, | 1066 | 23.6k | visitor: &mut T, | 1067 | 23.6k | ) -> Result<<T as VisitOperator<'a>>::Output> | 1068 | 23.6k | where | 1069 | 23.6k | T: VisitOperator<'a>, | 1070 | 23.6k | { | 1071 | 23.6k | let code = self.read_var_u32()?; | 1072 | 23.6k | Ok(match code { | 1073 | 136 | 0x00 => visitor.visit_v128_load(self.read_memarg(4)?), | 1074 | 11 | 0x01 => visitor.visit_v128_load8x8_s(self.read_memarg(3)?), | 1075 | 1 | 0x02 => visitor.visit_v128_load8x8_u(self.read_memarg(3)?), | 1076 | 1 | 0x03 => visitor.visit_v128_load16x4_s(self.read_memarg(3)?), | 1077 | 3 | 0x04 => visitor.visit_v128_load16x4_u(self.read_memarg(3)?), | 1078 | 0 | 0x05 => visitor.visit_v128_load32x2_s(self.read_memarg(3)?), | 1079 | 1 | 0x06 => visitor.visit_v128_load32x2_u(self.read_memarg(3)?), | 1080 | 2 | 0x07 => visitor.visit_v128_load8_splat(self.read_memarg(0)?), | 1081 | 1 | 0x08 => visitor.visit_v128_load16_splat(self.read_memarg(1)?), | 1082 | 1 | 0x09 => visitor.visit_v128_load32_splat(self.read_memarg(2)?), | 1083 | 1 | 0x0a => visitor.visit_v128_load64_splat(self.read_memarg(3)?), | 1084 | | | 1085 | 2 | 0x0b => visitor.visit_v128_store(self.read_memarg(4)?), | 1086 | 23.1k | 0x0c => visitor.visit_v128_const(self.read_v128()?), | 1087 | | 0x0d => { | 1088 | 3 | let mut lanes: [u8; 16] = [0; 16]; | 1089 | 51 | for lane in &mut lanes { | 1090 | 48 | *lane = self.read_lane_index(32)? | 1091 | | } | 1092 | 3 | visitor.visit_i8x16_shuffle(lanes) | 1093 | | } | 1094 | | | 1095 | 2 | 0x0e => visitor.visit_i8x16_swizzle(), | 1096 | 1 | 0x0f => visitor.visit_i8x16_splat(), | 1097 | 1 | 0x10 => visitor.visit_i16x8_splat(), | 1098 | 2 | 0x11 => visitor.visit_i32x4_splat(), | 1099 | 2 | 0x12 => visitor.visit_i64x2_splat(), | 1100 | 4 | 0x13 => visitor.visit_f32x4_splat(), | 1101 | 0 | 0x14 => visitor.visit_f64x2_splat(), | 1102 | | | 1103 | 1 | 0x15 => visitor.visit_i8x16_extract_lane_s(self.read_lane_index(16)?), | 1104 | 1 | 0x16 => visitor.visit_i8x16_extract_lane_u(self.read_lane_index(16)?), | 1105 | 0 | 0x17 => visitor.visit_i8x16_replace_lane(self.read_lane_index(16)?), | 1106 | 1 | 0x18 => visitor.visit_i16x8_extract_lane_s(self.read_lane_index(8)?), | 1107 | 0 | 0x19 => visitor.visit_i16x8_extract_lane_u(self.read_lane_index(8)?), | 1108 | 2 | 0x1a => visitor.visit_i16x8_replace_lane(self.read_lane_index(8)?), | 1109 | 0 | 0x1b => visitor.visit_i32x4_extract_lane(self.read_lane_index(4)?), | 1110 | | | 1111 | 2 | 0x1c => visitor.visit_i32x4_replace_lane(self.read_lane_index(4)?), | 1112 | 2 | 0x1d => visitor.visit_i64x2_extract_lane(self.read_lane_index(2)?), | 1113 | 2 | 0x1e => visitor.visit_i64x2_replace_lane(self.read_lane_index(2)?), | 1114 | 1 | 0x1f => visitor.visit_f32x4_extract_lane(self.read_lane_index(4)?), | 1115 | 2 | 0x20 => visitor.visit_f32x4_replace_lane(self.read_lane_index(4)?), | 1116 | 0 | 0x21 => visitor.visit_f64x2_extract_lane(self.read_lane_index(2)?), | 1117 | 2 | 0x22 => visitor.visit_f64x2_replace_lane(self.read_lane_index(2)?), | 1118 | | | 1119 | 1 | 0x23 => visitor.visit_i8x16_eq(), | 1120 | 3 | 0x24 => visitor.visit_i8x16_ne(), | 1121 | 1 | 0x25 => visitor.visit_i8x16_lt_s(), | 1122 | 2 | 0x26 => visitor.visit_i8x16_lt_u(), | 1123 | 1 | 0x27 => visitor.visit_i8x16_gt_s(), | 1124 | 1 | 0x28 => visitor.visit_i8x16_gt_u(), | 1125 | 1 | 0x29 => visitor.visit_i8x16_le_s(), | 1126 | 0 | 0x2a => visitor.visit_i8x16_le_u(), | 1127 | 2 | 0x2b => visitor.visit_i8x16_ge_s(), | 1128 | 3 | 0x2c => visitor.visit_i8x16_ge_u(), | 1129 | 2 | 0x2d => visitor.visit_i16x8_eq(), | 1130 | 1 | 0x2e => visitor.visit_i16x8_ne(), | 1131 | 2 | 0x2f => visitor.visit_i16x8_lt_s(), | 1132 | 1 | 0x30 => visitor.visit_i16x8_lt_u(), | 1133 | 2 | 0x31 => visitor.visit_i16x8_gt_s(), | 1134 | 4 | 0x32 => visitor.visit_i16x8_gt_u(), | 1135 | 2 | 0x33 => visitor.visit_i16x8_le_s(), | 1136 | 3 | 0x34 => visitor.visit_i16x8_le_u(), | 1137 | 3 | 0x35 => visitor.visit_i16x8_ge_s(), | 1138 | 2 | 0x36 => visitor.visit_i16x8_ge_u(), | 1139 | 1 | 0x37 => visitor.visit_i32x4_eq(), | 1140 | 1 | 0x38 => visitor.visit_i32x4_ne(), | 1141 | 1 | 0x39 => visitor.visit_i32x4_lt_s(), | 1142 | 1 | 0x3a => visitor.visit_i32x4_lt_u(), | 1143 | 1 | 0x3b => visitor.visit_i32x4_gt_s(), | 1144 | 3 | 0x3c => visitor.visit_i32x4_gt_u(), | 1145 | 1 | 0x3d => visitor.visit_i32x4_le_s(), | 1146 | 2 | 0x3e => visitor.visit_i32x4_le_u(), | 1147 | 0 | 0x3f => visitor.visit_i32x4_ge_s(), | 1148 | 1 | 0x40 => visitor.visit_i32x4_ge_u(), | 1149 | 1 | 0x41 => visitor.visit_f32x4_eq(), | 1150 | 2 | 0x42 => visitor.visit_f32x4_ne(), | 1151 | 2 | 0x43 => visitor.visit_f32x4_lt(), | 1152 | 2 | 0x44 => visitor.visit_f32x4_gt(), | 1153 | 1 | 0x45 => visitor.visit_f32x4_le(), | 1154 | 0 | 0x46 => visitor.visit_f32x4_ge(), | 1155 | 2 | 0x47 => visitor.visit_f64x2_eq(), | 1156 | 1 | 0x48 => visitor.visit_f64x2_ne(), | 1157 | 0 | 0x49 => visitor.visit_f64x2_lt(), | 1158 | 1 | 0x4a => visitor.visit_f64x2_gt(), | 1159 | 0 | 0x4b => visitor.visit_f64x2_le(), | 1160 | 1 | 0x4c => visitor.visit_f64x2_ge(), | 1161 | 1 | 0x4d => visitor.visit_v128_not(), | 1162 | 0 | 0x4e => visitor.visit_v128_and(), | 1163 | 3 | 0x4f => visitor.visit_v128_andnot(), | 1164 | 3 | 0x50 => visitor.visit_v128_or(), | 1165 | 1 | 0x51 => visitor.visit_v128_xor(), | 1166 | 2 | 0x52 => visitor.visit_v128_bitselect(), | 1167 | 1 | 0x53 => visitor.visit_v128_any_true(), | 1168 | | | 1169 | | 0x54 => { | 1170 | 2 | let memarg = self.read_memarg(0)?; | 1171 | 2 | let lane = self.read_lane_index(16)?; | 1172 | 2 | visitor.visit_v128_load8_lane(memarg, lane) | 1173 | | } | 1174 | | 0x55 => { | 1175 | 2 | let memarg = self.read_memarg(1)?; | 1176 | 2 | let lane = self.read_lane_index(8)?; | 1177 | 2 | visitor.visit_v128_load16_lane(memarg, lane) | 1178 | | } | 1179 | | 0x56 => { | 1180 | 0 | let memarg = self.read_memarg(2)?; | 1181 | 0 | let lane = self.read_lane_index(4)?; | 1182 | 0 | visitor.visit_v128_load32_lane(memarg, lane) | 1183 | | } | 1184 | | 0x57 => { | 1185 | 1 | let memarg = self.read_memarg(3)?; | 1186 | 1 | let lane = self.read_lane_index(2)?; | 1187 | 1 | visitor.visit_v128_load64_lane(memarg, lane) | 1188 | | } | 1189 | | 0x58 => { | 1190 | 1 | let memarg = self.read_memarg(0)?; | 1191 | 1 | let lane = self.read_lane_index(16)?; | 1192 | 1 | visitor.visit_v128_store8_lane(memarg, lane) | 1193 | | } | 1194 | | 0x59 => { | 1195 | 1 | let memarg = self.read_memarg(1)?; | 1196 | 1 | let lane = self.read_lane_index(8)?; | 1197 | 1 | visitor.visit_v128_store16_lane(memarg, lane) | 1198 | | } | 1199 | | 0x5a => { | 1200 | 1 | let memarg = self.read_memarg(2)?; | 1201 | 1 | let lane = self.read_lane_index(4)?; | 1202 | 1 | visitor.visit_v128_store32_lane(memarg, lane) | 1203 | | } | 1204 | | 0x5b => { | 1205 | 1 | let memarg = self.read_memarg(3)?; | 1206 | 1 | let lane = self.read_lane_index(2)?; | 1207 | 1 | visitor.visit_v128_store64_lane(memarg, lane) | 1208 | | } | 1209 | | | 1210 | 0 | 0x5c => visitor.visit_v128_load32_zero(self.read_memarg(2)?), | 1211 | 4 | 0x5d => visitor.visit_v128_load64_zero(self.read_memarg(3)?), | 1212 | 1 | 0x5e => visitor.visit_f32x4_demote_f64x2_zero(), | 1213 | 0 | 0x5f => visitor.visit_f64x2_promote_low_f32x4(), | 1214 | 1 | 0x60 => visitor.visit_i8x16_abs(), | 1215 | 1 | 0x61 => visitor.visit_i8x16_neg(), | 1216 | 1 | 0x62 => visitor.visit_i8x16_popcnt(), | 1217 | 1 | 0x63 => visitor.visit_i8x16_all_true(), | 1218 | 1 | 0x64 => visitor.visit_i8x16_bitmask(), | 1219 | 1 | 0x65 => visitor.visit_i8x16_narrow_i16x8_s(), | 1220 | 2 | 0x66 => visitor.visit_i8x16_narrow_i16x8_u(), | 1221 | 2 | 0x67 => visitor.visit_f32x4_ceil(), | 1222 | 3 | 0x68 => visitor.visit_f32x4_floor(), | 1223 | 1 | 0x69 => visitor.visit_f32x4_trunc(), | 1224 | 2 | 0x6a => visitor.visit_f32x4_nearest(), | 1225 | 2 | 0x6b => visitor.visit_i8x16_shl(), | 1226 | 0 | 0x6c => visitor.visit_i8x16_shr_s(), | 1227 | 5 | 0x6d => visitor.visit_i8x16_shr_u(), | 1228 | 1 | 0x6e => visitor.visit_i8x16_add(), | 1229 | 2 | 0x6f => visitor.visit_i8x16_add_sat_s(), | 1230 | 1 | 0x70 => visitor.visit_i8x16_add_sat_u(), | 1231 | 1 | 0x71 => visitor.visit_i8x16_sub(), | 1232 | 0 | 0x72 => visitor.visit_i8x16_sub_sat_s(), | 1233 | 2 | 0x73 => visitor.visit_i8x16_sub_sat_u(), | 1234 | 1 | 0x74 => visitor.visit_f64x2_ceil(), | 1235 | 1 | 0x75 => visitor.visit_f64x2_floor(), | 1236 | 1 | 0x76 => visitor.visit_i8x16_min_s(), | 1237 | 1 | 0x77 => visitor.visit_i8x16_min_u(), | 1238 | 1 | 0x78 => visitor.visit_i8x16_max_s(), | 1239 | 1 | 0x79 => visitor.visit_i8x16_max_u(), | 1240 | 0 | 0x7a => visitor.visit_f64x2_trunc(), | 1241 | 1 | 0x7b => visitor.visit_i8x16_avgr_u(), | 1242 | 0 | 0x7c => visitor.visit_i16x8_extadd_pairwise_i8x16_s(), | 1243 | 0 | 0x7d => visitor.visit_i16x8_extadd_pairwise_i8x16_u(), | 1244 | 0 | 0x7e => visitor.visit_i32x4_extadd_pairwise_i16x8_s(), | 1245 | 2 | 0x7f => visitor.visit_i32x4_extadd_pairwise_i16x8_u(), | 1246 | 1 | 0x80 => visitor.visit_i16x8_abs(), | 1247 | 0 | 0x81 => visitor.visit_i16x8_neg(), | 1248 | 1 | 0x82 => visitor.visit_i16x8_q15mulr_sat_s(), | 1249 | 4 | 0x83 => visitor.visit_i16x8_all_true(), | 1250 | 2 | 0x84 => visitor.visit_i16x8_bitmask(), | 1251 | 0 | 0x85 => visitor.visit_i16x8_narrow_i32x4_s(), | 1252 | 2 | 0x86 => visitor.visit_i16x8_narrow_i32x4_u(), | 1253 | 2 | 0x87 => visitor.visit_i16x8_extend_low_i8x16_s(), | 1254 | 3 | 0x88 => visitor.visit_i16x8_extend_high_i8x16_s(), | 1255 | 3 | 0x89 => visitor.visit_i16x8_extend_low_i8x16_u(), | 1256 | 1 | 0x8a => visitor.visit_i16x8_extend_high_i8x16_u(), | 1257 | 1 | 0x8b => visitor.visit_i16x8_shl(), | 1258 | 0 | 0x8c => visitor.visit_i16x8_shr_s(), | 1259 | 1 | 0x8d => visitor.visit_i16x8_shr_u(), | 1260 | 8 | 0x8e => visitor.visit_i16x8_add(), | 1261 | 2 | 0x8f => visitor.visit_i16x8_add_sat_s(), | 1262 | 2 | 0x90 => visitor.visit_i16x8_add_sat_u(), | 1263 | 2 | 0x91 => visitor.visit_i16x8_sub(), | 1264 | 2 | 0x92 => visitor.visit_i16x8_sub_sat_s(), | 1265 | 1 | 0x93 => visitor.visit_i16x8_sub_sat_u(), | 1266 | 0 | 0x94 => visitor.visit_f64x2_nearest(), | 1267 | 1 | 0x95 => visitor.visit_i16x8_mul(), | 1268 | 0 | 0x96 => visitor.visit_i16x8_min_s(), | 1269 | 1 | 0x97 => visitor.visit_i16x8_min_u(), | 1270 | 3 | 0x98 => visitor.visit_i16x8_max_s(), | 1271 | 0 | 0x99 => visitor.visit_i16x8_max_u(), | 1272 | 1 | 0x9b => visitor.visit_i16x8_avgr_u(), | 1273 | 1 | 0x9c => visitor.visit_i16x8_extmul_low_i8x16_s(), | 1274 | 1 | 0x9d => visitor.visit_i16x8_extmul_high_i8x16_s(), | 1275 | 0 | 0x9e => visitor.visit_i16x8_extmul_low_i8x16_u(), | 1276 | 0 | 0x9f => visitor.visit_i16x8_extmul_high_i8x16_u(), | 1277 | 0 | 0xa0 => visitor.visit_i32x4_abs(), | 1278 | 4 | 0xa1 => visitor.visit_i32x4_neg(), | 1279 | 1 | 0xa3 => visitor.visit_i32x4_all_true(), | 1280 | 0 | 0xa4 => visitor.visit_i32x4_bitmask(), | 1281 | 1 | 0xa7 => visitor.visit_i32x4_extend_low_i16x8_s(), | 1282 | 1 | 0xa8 => visitor.visit_i32x4_extend_high_i16x8_s(), | 1283 | 2 | 0xa9 => visitor.visit_i32x4_extend_low_i16x8_u(), | 1284 | 2 | 0xaa => visitor.visit_i32x4_extend_high_i16x8_u(), | 1285 | 0 | 0xab => visitor.visit_i32x4_shl(), | 1286 | 0 | 0xac => visitor.visit_i32x4_shr_s(), | 1287 | 1 | 0xad => visitor.visit_i32x4_shr_u(), | 1288 | 0 | 0xae => visitor.visit_i32x4_add(), | 1289 | 0 | 0xb1 => visitor.visit_i32x4_sub(), | 1290 | 0 | 0xb5 => visitor.visit_i32x4_mul(), | 1291 | 2 | 0xb6 => visitor.visit_i32x4_min_s(), | 1292 | 1 | 0xb7 => visitor.visit_i32x4_min_u(), | 1293 | 1 | 0xb8 => visitor.visit_i32x4_max_s(), | 1294 | 1 | 0xb9 => visitor.visit_i32x4_max_u(), | 1295 | 0 | 0xba => visitor.visit_i32x4_dot_i16x8_s(), | 1296 | 1 | 0xbc => visitor.visit_i32x4_extmul_low_i16x8_s(), | 1297 | 0 | 0xbd => visitor.visit_i32x4_extmul_high_i16x8_s(), | 1298 | 1 | 0xbe => visitor.visit_i32x4_extmul_low_i16x8_u(), | 1299 | 2 | 0xbf => visitor.visit_i32x4_extmul_high_i16x8_u(), | 1300 | 0 | 0xc0 => visitor.visit_i64x2_abs(), | 1301 | 2 | 0xc1 => visitor.visit_i64x2_neg(), | 1302 | 1 | 0xc3 => visitor.visit_i64x2_all_true(), | 1303 | 0 | 0xc4 => visitor.visit_i64x2_bitmask(), | 1304 | 0 | 0xc7 => visitor.visit_i64x2_extend_low_i32x4_s(), | 1305 | 3 | 0xc8 => visitor.visit_i64x2_extend_high_i32x4_s(), | 1306 | 1 | 0xc9 => visitor.visit_i64x2_extend_low_i32x4_u(), | 1307 | 1 | 0xca => visitor.visit_i64x2_extend_high_i32x4_u(), | 1308 | 3 | 0xcb => visitor.visit_i64x2_shl(), | 1309 | 3 | 0xcc => visitor.visit_i64x2_shr_s(), | 1310 | 1 | 0xcd => visitor.visit_i64x2_shr_u(), | 1311 | 2 | 0xce => visitor.visit_i64x2_add(), | 1312 | 2 | 0xd1 => visitor.visit_i64x2_sub(), | 1313 | 0 | 0xd5 => visitor.visit_i64x2_mul(), | 1314 | 1 | 0xd6 => visitor.visit_i64x2_eq(), | 1315 | 0 | 0xd7 => visitor.visit_i64x2_ne(), | 1316 | 0 | 0xd8 => visitor.visit_i64x2_lt_s(), | 1317 | 1 | 0xd9 => visitor.visit_i64x2_gt_s(), | 1318 | 0 | 0xda => visitor.visit_i64x2_le_s(), | 1319 | 1 | 0xdb => visitor.visit_i64x2_ge_s(), | 1320 | 3 | 0xdc => visitor.visit_i64x2_extmul_low_i32x4_s(), | 1321 | 2 | 0xdd => visitor.visit_i64x2_extmul_high_i32x4_s(), | 1322 | 1 | 0xde => visitor.visit_i64x2_extmul_low_i32x4_u(), | 1323 | 1 | 0xdf => visitor.visit_i64x2_extmul_high_i32x4_u(), | 1324 | 2 | 0xe0 => visitor.visit_f32x4_abs(), | 1325 | 1 | 0xe1 => visitor.visit_f32x4_neg(), | 1326 | 1 | 0xe3 => visitor.visit_f32x4_sqrt(), | 1327 | 1 | 0xe4 => visitor.visit_f32x4_add(), | 1328 | 1 | 0xe5 => visitor.visit_f32x4_sub(), | 1329 | 2 | 0xe6 => visitor.visit_f32x4_mul(), | 1330 | 1 | 0xe7 => visitor.visit_f32x4_div(), | 1331 | 0 | 0xe8 => visitor.visit_f32x4_min(), | 1332 | 3 | 0xe9 => visitor.visit_f32x4_max(), | 1333 | 1 | 0xea => visitor.visit_f32x4_pmin(), | 1334 | 2 | 0xeb => visitor.visit_f32x4_pmax(), | 1335 | 1 | 0xec => visitor.visit_f64x2_abs(), | 1336 | 2 | 0xed => visitor.visit_f64x2_neg(), | 1337 | 1 | 0xef => visitor.visit_f64x2_sqrt(), | 1338 | 1 | 0xf0 => visitor.visit_f64x2_add(), | 1339 | 1 | 0xf1 => visitor.visit_f64x2_sub(), | 1340 | 2 | 0xf2 => visitor.visit_f64x2_mul(), | 1341 | 1 | 0xf3 => visitor.visit_f64x2_div(), | 1342 | 0 | 0xf4 => visitor.visit_f64x2_min(), | 1343 | 0 | 0xf5 => visitor.visit_f64x2_max(), | 1344 | 1 | 0xf6 => visitor.visit_f64x2_pmin(), | 1345 | 1 | 0xf7 => visitor.visit_f64x2_pmax(), | 1346 | 1 | 0xf8 => visitor.visit_i32x4_trunc_sat_f32x4_s(), | 1347 | 0 | 0xf9 => visitor.visit_i32x4_trunc_sat_f32x4_u(), | 1348 | 0 | 0xfa => visitor.visit_f32x4_convert_i32x4_s(), | 1349 | 0 | 0xfb => visitor.visit_f32x4_convert_i32x4_u(), | 1350 | 1 | 0xfc => visitor.visit_i32x4_trunc_sat_f64x2_s_zero(), | 1351 | 0 | 0xfd => visitor.visit_i32x4_trunc_sat_f64x2_u_zero(), | 1352 | 1 | 0xfe => visitor.visit_f64x2_convert_low_i32x4_s(), | 1353 | 1 | 0xff => visitor.visit_f64x2_convert_low_i32x4_u(), | 1354 | 1 | 0x100 => visitor.visit_i8x16_relaxed_swizzle(), | 1355 | 2 | 0x101 => visitor.visit_i32x4_relaxed_trunc_f32x4_s(), | 1356 | 2 | 0x102 => visitor.visit_i32x4_relaxed_trunc_f32x4_u(), | 1357 | 0 | 0x103 => visitor.visit_i32x4_relaxed_trunc_f64x2_s_zero(), | 1358 | 0 | 0x104 => visitor.visit_i32x4_relaxed_trunc_f64x2_u_zero(), | 1359 | 3 | 0x105 => visitor.visit_f32x4_relaxed_madd(), | 1360 | 2 | 0x106 => visitor.visit_f32x4_relaxed_nmadd(), | 1361 | 0 | 0x107 => visitor.visit_f64x2_relaxed_madd(), | 1362 | 1 | 0x108 => visitor.visit_f64x2_relaxed_nmadd(), | 1363 | 2 | 0x109 => visitor.visit_i8x16_relaxed_laneselect(), | 1364 | 2 | 0x10a => visitor.visit_i16x8_relaxed_laneselect(), | 1365 | 1 | 0x10b => visitor.visit_i32x4_relaxed_laneselect(), | 1366 | 0 | 0x10c => visitor.visit_i64x2_relaxed_laneselect(), | 1367 | 1 | 0x10d => visitor.visit_f32x4_relaxed_min(), | 1368 | 0 | 0x10e => visitor.visit_f32x4_relaxed_max(), | 1369 | 1 | 0x10f => visitor.visit_f64x2_relaxed_min(), | 1370 | 3 | 0x110 => visitor.visit_f64x2_relaxed_max(), | 1371 | 0 | 0x111 => visitor.visit_i16x8_relaxed_q15mulr_s(), | 1372 | 1 | 0x112 => visitor.visit_i16x8_relaxed_dot_i8x16_i7x16_s(), | 1373 | 1 | 0x113 => visitor.visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(), | 1374 | | | 1375 | 0 | _ => bail!(pos, "unknown 0xfd subopcode: 0x{code:x}"), | 1376 | | }) | 1377 | 23.6k | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<wasmparser::binary_reader::OperatorFactory> Line | Count | Source | 1063 | 2.69M | fn visit_0xfd_operator<T>( | 1064 | 2.69M | &mut self, | 1065 | 2.69M | pos: usize, | 1066 | 2.69M | visitor: &mut T, | 1067 | 2.69M | ) -> Result<<T as VisitOperator<'a>>::Output> | 1068 | 2.69M | where | 1069 | 2.69M | T: VisitOperator<'a>, | 1070 | 2.69M | { | 1071 | 2.69M | let code = self.read_var_u32()?; | 1072 | 2.69M | Ok(match code { | 1073 | 33.8k | 0x00 => visitor.visit_v128_load(self.read_memarg(4)?), | 1074 | 8.86k | 0x01 => visitor.visit_v128_load8x8_s(self.read_memarg(3)?), | 1075 | 16.8k | 0x02 => visitor.visit_v128_load8x8_u(self.read_memarg(3)?), | 1076 | 3.35k | 0x03 => visitor.visit_v128_load16x4_s(self.read_memarg(3)?), | 1077 | 4.43k | 0x04 => visitor.visit_v128_load16x4_u(self.read_memarg(3)?), | 1078 | 3.77k | 0x05 => visitor.visit_v128_load32x2_s(self.read_memarg(3)?), | 1079 | 7.66k | 0x06 => visitor.visit_v128_load32x2_u(self.read_memarg(3)?), | 1080 | 4.87k | 0x07 => visitor.visit_v128_load8_splat(self.read_memarg(0)?), | 1081 | 2.76k | 0x08 => visitor.visit_v128_load16_splat(self.read_memarg(1)?), | 1082 | 6.27k | 0x09 => visitor.visit_v128_load32_splat(self.read_memarg(2)?), | 1083 | 2.16k | 0x0a => visitor.visit_v128_load64_splat(self.read_memarg(3)?), | 1084 | | | 1085 | 8.11k | 0x0b => visitor.visit_v128_store(self.read_memarg(4)?), | 1086 | 486k | 0x0c => visitor.visit_v128_const(self.read_v128()?), | 1087 | | 0x0d => { | 1088 | 1.68k | let mut lanes: [u8; 16] = [0; 16]; | 1089 | 27.2k | for lane in &mut lanes { | 1090 | 25.7k | *lane = self.read_lane_index(32)? | 1091 | | } | 1092 | 1.54k | visitor.visit_i8x16_shuffle(lanes) | 1093 | | } | 1094 | | | 1095 | 3.02k | 0x0e => visitor.visit_i8x16_swizzle(), | 1096 | 7.06k | 0x0f => visitor.visit_i8x16_splat(), | 1097 | 7.02k | 0x10 => visitor.visit_i16x8_splat(), | 1098 | 9.23k | 0x11 => visitor.visit_i32x4_splat(), | 1099 | 8.55k | 0x12 => visitor.visit_i64x2_splat(), | 1100 | 9.12k | 0x13 => visitor.visit_f32x4_splat(), | 1101 | 6.48k | 0x14 => visitor.visit_f64x2_splat(), | 1102 | | | 1103 | 25.2k | 0x15 => visitor.visit_i8x16_extract_lane_s(self.read_lane_index(16)?), | 1104 | 8.90k | 0x16 => visitor.visit_i8x16_extract_lane_u(self.read_lane_index(16)?), | 1105 | 5.61k | 0x17 => visitor.visit_i8x16_replace_lane(self.read_lane_index(16)?), | 1106 | 9.86k | 0x18 => visitor.visit_i16x8_extract_lane_s(self.read_lane_index(8)?), | 1107 | 12.1k | 0x19 => visitor.visit_i16x8_extract_lane_u(self.read_lane_index(8)?), | 1108 | 7.22k | 0x1a => visitor.visit_i16x8_replace_lane(self.read_lane_index(8)?), | 1109 | 7.06k | 0x1b => visitor.visit_i32x4_extract_lane(self.read_lane_index(4)?), | 1110 | | | 1111 | 7.58k | 0x1c => visitor.visit_i32x4_replace_lane(self.read_lane_index(4)?), | 1112 | 8.07k | 0x1d => visitor.visit_i64x2_extract_lane(self.read_lane_index(2)?), | 1113 | 3.11k | 0x1e => visitor.visit_i64x2_replace_lane(self.read_lane_index(2)?), | 1114 | 11.1k | 0x1f => visitor.visit_f32x4_extract_lane(self.read_lane_index(4)?), | 1115 | 37.6k | 0x20 => visitor.visit_f32x4_replace_lane(self.read_lane_index(4)?), | 1116 | 7.71k | 0x21 => visitor.visit_f64x2_extract_lane(self.read_lane_index(2)?), | 1117 | 1.69k | 0x22 => visitor.visit_f64x2_replace_lane(self.read_lane_index(2)?), | 1118 | | | 1119 | 7.04k | 0x23 => visitor.visit_i8x16_eq(), | 1120 | 4.61k | 0x24 => visitor.visit_i8x16_ne(), | 1121 | 1.49k | 0x25 => visitor.visit_i8x16_lt_s(), | 1122 | 2.71k | 0x26 => visitor.visit_i8x16_lt_u(), | 1123 | 9.27k | 0x27 => visitor.visit_i8x16_gt_s(), | 1124 | 25.1k | 0x28 => visitor.visit_i8x16_gt_u(), | 1125 | 7.12k | 0x29 => visitor.visit_i8x16_le_s(), | 1126 | 9.08k | 0x2a => visitor.visit_i8x16_le_u(), | 1127 | 2.05k | 0x2b => visitor.visit_i8x16_ge_s(), | 1128 | 8.14k | 0x2c => visitor.visit_i8x16_ge_u(), | 1129 | 1.70k | 0x2d => visitor.visit_i16x8_eq(), | 1130 | 4.30k | 0x2e => visitor.visit_i16x8_ne(), | 1131 | 2.22k | 0x2f => visitor.visit_i16x8_lt_s(), | 1132 | 71.6k | 0x30 => visitor.visit_i16x8_lt_u(), | 1133 | 17.1k | 0x31 => visitor.visit_i16x8_gt_s(), | 1134 | 4.28k | 0x32 => visitor.visit_i16x8_gt_u(), | 1135 | 11.4k | 0x33 => visitor.visit_i16x8_le_s(), | 1136 | 39.2k | 0x34 => visitor.visit_i16x8_le_u(), | 1137 | 4.21k | 0x35 => visitor.visit_i16x8_ge_s(), | 1138 | 3.68k | 0x36 => visitor.visit_i16x8_ge_u(), | 1139 | 1.55k | 0x37 => visitor.visit_i32x4_eq(), | 1140 | 3.60k | 0x38 => visitor.visit_i32x4_ne(), | 1141 | 2.18k | 0x39 => visitor.visit_i32x4_lt_s(), | 1142 | 6.17k | 0x3a => visitor.visit_i32x4_lt_u(), | 1143 | 4.65k | 0x3b => visitor.visit_i32x4_gt_s(), | 1144 | 1.22k | 0x3c => visitor.visit_i32x4_gt_u(), | 1145 | 1.97k | 0x3d => visitor.visit_i32x4_le_s(), | 1146 | 1.58k | 0x3e => visitor.visit_i32x4_le_u(), | 1147 | 3.42k | 0x3f => visitor.visit_i32x4_ge_s(), | 1148 | 3.91k | 0x40 => visitor.visit_i32x4_ge_u(), | 1149 | 66.6k | 0x41 => visitor.visit_f32x4_eq(), | 1150 | 1.85k | 0x42 => visitor.visit_f32x4_ne(), | 1151 | 2.38k | 0x43 => visitor.visit_f32x4_lt(), | 1152 | 7.81k | 0x44 => visitor.visit_f32x4_gt(), | 1153 | 8.38k | 0x45 => visitor.visit_f32x4_le(), | 1154 | 848 | 0x46 => visitor.visit_f32x4_ge(), | 1155 | 50.5k | 0x47 => visitor.visit_f64x2_eq(), | 1156 | 3.80k | 0x48 => visitor.visit_f64x2_ne(), | 1157 | 1.88k | 0x49 => visitor.visit_f64x2_lt(), | 1158 | 5.61k | 0x4a => visitor.visit_f64x2_gt(), | 1159 | 1.34k | 0x4b => visitor.visit_f64x2_le(), | 1160 | 16.5k | 0x4c => visitor.visit_f64x2_ge(), | 1161 | 7.59k | 0x4d => visitor.visit_v128_not(), | 1162 | 6.84k | 0x4e => visitor.visit_v128_and(), | 1163 | 1.59k | 0x4f => visitor.visit_v128_andnot(), | 1164 | 2.41k | 0x50 => visitor.visit_v128_or(), | 1165 | 3.74k | 0x51 => visitor.visit_v128_xor(), | 1166 | 99.6k | 0x52 => visitor.visit_v128_bitselect(), | 1167 | 1.19k | 0x53 => visitor.visit_v128_any_true(), | 1168 | | | 1169 | | 0x54 => { | 1170 | 2.02k | let memarg = self.read_memarg(0)?; | 1171 | 2.02k | let lane = self.read_lane_index(16)?; | 1172 | 2.00k | visitor.visit_v128_load8_lane(memarg, lane) | 1173 | | } | 1174 | | 0x55 => { | 1175 | 4.37k | let memarg = self.read_memarg(1)?; | 1176 | 4.36k | let lane = self.read_lane_index(8)?; | 1177 | 4.35k | visitor.visit_v128_load16_lane(memarg, lane) | 1178 | | } | 1179 | | 0x56 => { | 1180 | 3.60k | let memarg = self.read_memarg(2)?; | 1181 | 3.60k | let lane = self.read_lane_index(4)?; | 1182 | 3.58k | visitor.visit_v128_load32_lane(memarg, lane) | 1183 | | } | 1184 | | 0x57 => { | 1185 | 4.29k | let memarg = self.read_memarg(3)?; | 1186 | 4.28k | let lane = self.read_lane_index(2)?; | 1187 | 4.28k | visitor.visit_v128_load64_lane(memarg, lane) | 1188 | | } | 1189 | | 0x58 => { | 1190 | 2.83k | let memarg = self.read_memarg(0)?; | 1191 | 2.83k | let lane = self.read_lane_index(16)?; | 1192 | 2.83k | visitor.visit_v128_store8_lane(memarg, lane) | 1193 | | } | 1194 | | 0x59 => { | 1195 | 3.34k | let memarg = self.read_memarg(1)?; | 1196 | 3.34k | let lane = self.read_lane_index(8)?; | 1197 | 3.33k | visitor.visit_v128_store16_lane(memarg, lane) | 1198 | | } | 1199 | | 0x5a => { | 1200 | 3.59k | let memarg = self.read_memarg(2)?; | 1201 | 3.59k | let lane = self.read_lane_index(4)?; | 1202 | 3.58k | visitor.visit_v128_store32_lane(memarg, lane) | 1203 | | } | 1204 | | 0x5b => { | 1205 | 4.32k | let memarg = self.read_memarg(3)?; | 1206 | 4.31k | let lane = self.read_lane_index(2)?; | 1207 | 4.30k | visitor.visit_v128_store64_lane(memarg, lane) | 1208 | | } | 1209 | | | 1210 | 3.16k | 0x5c => visitor.visit_v128_load32_zero(self.read_memarg(2)?), | 1211 | 3.76k | 0x5d => visitor.visit_v128_load64_zero(self.read_memarg(3)?), | 1212 | 14.5k | 0x5e => visitor.visit_f32x4_demote_f64x2_zero(), | 1213 | 13.8k | 0x5f => visitor.visit_f64x2_promote_low_f32x4(), | 1214 | 38.4k | 0x60 => visitor.visit_i8x16_abs(), | 1215 | 14.1k | 0x61 => visitor.visit_i8x16_neg(), | 1216 | 16.9k | 0x62 => visitor.visit_i8x16_popcnt(), | 1217 | 4.19k | 0x63 => visitor.visit_i8x16_all_true(), | 1218 | 5.76k | 0x64 => visitor.visit_i8x16_bitmask(), | 1219 | 37.0k | 0x65 => visitor.visit_i8x16_narrow_i16x8_s(), | 1220 | 1.90k | 0x66 => visitor.visit_i8x16_narrow_i16x8_u(), | 1221 | 33.6k | 0x67 => visitor.visit_f32x4_ceil(), | 1222 | 21.9k | 0x68 => visitor.visit_f32x4_floor(), | 1223 | 8.40k | 0x69 => visitor.visit_f32x4_trunc(), | 1224 | 5.50k | 0x6a => visitor.visit_f32x4_nearest(), | 1225 | 2.04k | 0x6b => visitor.visit_i8x16_shl(), | 1226 | 10.1k | 0x6c => visitor.visit_i8x16_shr_s(), | 1227 | 3.67k | 0x6d => visitor.visit_i8x16_shr_u(), | 1228 | 5.15k | 0x6e => visitor.visit_i8x16_add(), | 1229 | 41.5k | 0x6f => visitor.visit_i8x16_add_sat_s(), | 1230 | 2.84k | 0x70 => visitor.visit_i8x16_add_sat_u(), | 1231 | 5.59k | 0x71 => visitor.visit_i8x16_sub(), | 1232 | 2.06k | 0x72 => visitor.visit_i8x16_sub_sat_s(), | 1233 | 4.34k | 0x73 => visitor.visit_i8x16_sub_sat_u(), | 1234 | 10.6k | 0x74 => visitor.visit_f64x2_ceil(), | 1235 | 54.2k | 0x75 => visitor.visit_f64x2_floor(), | 1236 | 2.03k | 0x76 => visitor.visit_i8x16_min_s(), | 1237 | 3.21k | 0x77 => visitor.visit_i8x16_min_u(), | 1238 | 6.04k | 0x78 => visitor.visit_i8x16_max_s(), | 1239 | 1.56k | 0x79 => visitor.visit_i8x16_max_u(), | 1240 | 15.5k | 0x7a => visitor.visit_f64x2_trunc(), | 1241 | 3.40k | 0x7b => visitor.visit_i8x16_avgr_u(), | 1242 | 8.02k | 0x7c => visitor.visit_i16x8_extadd_pairwise_i8x16_s(), | 1243 | 13.0k | 0x7d => visitor.visit_i16x8_extadd_pairwise_i8x16_u(), | 1244 | 87.1k | 0x7e => visitor.visit_i32x4_extadd_pairwise_i16x8_s(), | 1245 | 19.7k | 0x7f => visitor.visit_i32x4_extadd_pairwise_i16x8_u(), | 1246 | 10.3k | 0x80 => visitor.visit_i16x8_abs(), | 1247 | 7.61k | 0x81 => visitor.visit_i16x8_neg(), | 1248 | 2.89k | 0x82 => visitor.visit_i16x8_q15mulr_sat_s(), | 1249 | 6.78k | 0x83 => visitor.visit_i16x8_all_true(), | 1250 | 6.45k | 0x84 => visitor.visit_i16x8_bitmask(), | 1251 | 2.87k | 0x85 => visitor.visit_i16x8_narrow_i32x4_s(), | 1252 | 1.53k | 0x86 => visitor.visit_i16x8_narrow_i32x4_u(), | 1253 | 17.7k | 0x87 => visitor.visit_i16x8_extend_low_i8x16_s(), | 1254 | 11.6k | 0x88 => visitor.visit_i16x8_extend_high_i8x16_s(), | 1255 | 11.9k | 0x89 => visitor.visit_i16x8_extend_low_i8x16_u(), | 1256 | 12.3k | 0x8a => visitor.visit_i16x8_extend_high_i8x16_u(), | 1257 | 1.03k | 0x8b => visitor.visit_i16x8_shl(), | 1258 | 4.58k | 0x8c => visitor.visit_i16x8_shr_s(), | 1259 | 2.96k | 0x8d => visitor.visit_i16x8_shr_u(), | 1260 | 19.0k | 0x8e => visitor.visit_i16x8_add(), | 1261 | 19.0k | 0x8f => visitor.visit_i16x8_add_sat_s(), | 1262 | 1.33k | 0x90 => visitor.visit_i16x8_add_sat_u(), | 1263 | 1.31k | 0x91 => visitor.visit_i16x8_sub(), | 1264 | 3.79k | 0x92 => visitor.visit_i16x8_sub_sat_s(), | 1265 | 2.35k | 0x93 => visitor.visit_i16x8_sub_sat_u(), | 1266 | 10.0k | 0x94 => visitor.visit_f64x2_nearest(), | 1267 | 1.58k | 0x95 => visitor.visit_i16x8_mul(), | 1268 | 3.39k | 0x96 => visitor.visit_i16x8_min_s(), | 1269 | 2.21k | 0x97 => visitor.visit_i16x8_min_u(), | 1270 | 1.11k | 0x98 => visitor.visit_i16x8_max_s(), | 1271 | 1.39k | 0x99 => visitor.visit_i16x8_max_u(), | 1272 | 2.05k | 0x9b => visitor.visit_i16x8_avgr_u(), | 1273 | 3.33k | 0x9c => visitor.visit_i16x8_extmul_low_i8x16_s(), | 1274 | 1.32k | 0x9d => visitor.visit_i16x8_extmul_high_i8x16_s(), | 1275 | 1.35k | 0x9e => visitor.visit_i16x8_extmul_low_i8x16_u(), | 1276 | 865 | 0x9f => visitor.visit_i16x8_extmul_high_i8x16_u(), | 1277 | 8.66k | 0xa0 => visitor.visit_i32x4_abs(), | 1278 | 24.1k | 0xa1 => visitor.visit_i32x4_neg(), | 1279 | 6.60k | 0xa3 => visitor.visit_i32x4_all_true(), | 1280 | 5.14k | 0xa4 => visitor.visit_i32x4_bitmask(), | 1281 | 10.6k | 0xa7 => visitor.visit_i32x4_extend_low_i16x8_s(), | 1282 | 15.9k | 0xa8 => visitor.visit_i32x4_extend_high_i16x8_s(), | 1283 | 9.13k | 0xa9 => visitor.visit_i32x4_extend_low_i16x8_u(), | 1284 | 14.1k | 0xaa => visitor.visit_i32x4_extend_high_i16x8_u(), | 1285 | 1.08k | 0xab => visitor.visit_i32x4_shl(), | 1286 | 7.25k | 0xac => visitor.visit_i32x4_shr_s(), | 1287 | 1.19k | 0xad => visitor.visit_i32x4_shr_u(), | 1288 | 4.33k | 0xae => visitor.visit_i32x4_add(), | 1289 | 5.87k | 0xb1 => visitor.visit_i32x4_sub(), | 1290 | 1.88k | 0xb5 => visitor.visit_i32x4_mul(), | 1291 | 3.01k | 0xb6 => visitor.visit_i32x4_min_s(), | 1292 | 9.27k | 0xb7 => visitor.visit_i32x4_min_u(), | 1293 | 1.45k | 0xb8 => visitor.visit_i32x4_max_s(), | 1294 | 866 | 0xb9 => visitor.visit_i32x4_max_u(), | 1295 | 1.30k | 0xba => visitor.visit_i32x4_dot_i16x8_s(), | 1296 | 1.59k | 0xbc => visitor.visit_i32x4_extmul_low_i16x8_s(), | 1297 | 1.70k | 0xbd => visitor.visit_i32x4_extmul_high_i16x8_s(), | 1298 | 1.22k | 0xbe => visitor.visit_i32x4_extmul_low_i16x8_u(), | 1299 | 1.34k | 0xbf => visitor.visit_i32x4_extmul_high_i16x8_u(), | 1300 | 24.9k | 0xc0 => visitor.visit_i64x2_abs(), | 1301 | 25.5k | 0xc1 => visitor.visit_i64x2_neg(), | 1302 | 5.01k | 0xc3 => visitor.visit_i64x2_all_true(), | 1303 | 5.13k | 0xc4 => visitor.visit_i64x2_bitmask(), | 1304 | 11.9k | 0xc7 => visitor.visit_i64x2_extend_low_i32x4_s(), | 1305 | 7.79k | 0xc8 => visitor.visit_i64x2_extend_high_i32x4_s(), | 1306 | 20.8k | 0xc9 => visitor.visit_i64x2_extend_low_i32x4_u(), | 1307 | 12.2k | 0xca => visitor.visit_i64x2_extend_high_i32x4_u(), | 1308 | 1.58k | 0xcb => visitor.visit_i64x2_shl(), | 1309 | 1.66k | 0xcc => visitor.visit_i64x2_shr_s(), | 1310 | 1.79k | 0xcd => visitor.visit_i64x2_shr_u(), | 1311 | 2.60k | 0xce => visitor.visit_i64x2_add(), | 1312 | 1.91k | 0xd1 => visitor.visit_i64x2_sub(), | 1313 | 1.84k | 0xd5 => visitor.visit_i64x2_mul(), | 1314 | 1.20k | 0xd6 => visitor.visit_i64x2_eq(), | 1315 | 2.55k | 0xd7 => visitor.visit_i64x2_ne(), | 1316 | 1.15k | 0xd8 => visitor.visit_i64x2_lt_s(), | 1317 | 2.54k | 0xd9 => visitor.visit_i64x2_gt_s(), | 1318 | 5.61k | 0xda => visitor.visit_i64x2_le_s(), | 1319 | 3.20k | 0xdb => visitor.visit_i64x2_ge_s(), | 1320 | 8.42k | 0xdc => visitor.visit_i64x2_extmul_low_i32x4_s(), | 1321 | 4.54k | 0xdd => visitor.visit_i64x2_extmul_high_i32x4_s(), | 1322 | 1.69k | 0xde => visitor.visit_i64x2_extmul_low_i32x4_u(), | 1323 | 15.3k | 0xdf => visitor.visit_i64x2_extmul_high_i32x4_u(), | 1324 | 9.69k | 0xe0 => visitor.visit_f32x4_abs(), | 1325 | 7.27k | 0xe1 => visitor.visit_f32x4_neg(), | 1326 | 14.6k | 0xe3 => visitor.visit_f32x4_sqrt(), | 1327 | 1.10k | 0xe4 => visitor.visit_f32x4_add(), | 1328 | 1.13k | 0xe5 => visitor.visit_f32x4_sub(), | 1329 | 2.11k | 0xe6 => visitor.visit_f32x4_mul(), | 1330 | 1.67k | 0xe7 => visitor.visit_f32x4_div(), | 1331 | 3.30k | 0xe8 => visitor.visit_f32x4_min(), | 1332 | 1.37k | 0xe9 => visitor.visit_f32x4_max(), | 1333 | 5.67k | 0xea => visitor.visit_f32x4_pmin(), | 1334 | 2.75k | 0xeb => visitor.visit_f32x4_pmax(), | 1335 | 33.1k | 0xec => visitor.visit_f64x2_abs(), | 1336 | 7.03k | 0xed => visitor.visit_f64x2_neg(), | 1337 | 11.4k | 0xef => visitor.visit_f64x2_sqrt(), | 1338 | 1.01k | 0xf0 => visitor.visit_f64x2_add(), | 1339 | 3.26k | 0xf1 => visitor.visit_f64x2_sub(), | 1340 | 1.99k | 0xf2 => visitor.visit_f64x2_mul(), | 1341 | 1.20k | 0xf3 => visitor.visit_f64x2_div(), | 1342 | 1.89k | 0xf4 => visitor.visit_f64x2_min(), | 1343 | 2.57k | 0xf5 => visitor.visit_f64x2_max(), | 1344 | 2.48k | 0xf6 => visitor.visit_f64x2_pmin(), | 1345 | 2.62k | 0xf7 => visitor.visit_f64x2_pmax(), | 1346 | 19.2k | 0xf8 => visitor.visit_i32x4_trunc_sat_f32x4_s(), | 1347 | 8.31k | 0xf9 => visitor.visit_i32x4_trunc_sat_f32x4_u(), | 1348 | 15.5k | 0xfa => visitor.visit_f32x4_convert_i32x4_s(), | 1349 | 9.89k | 0xfb => visitor.visit_f32x4_convert_i32x4_u(), | 1350 | 17.6k | 0xfc => visitor.visit_i32x4_trunc_sat_f64x2_s_zero(), | 1351 | 5.58k | 0xfd => visitor.visit_i32x4_trunc_sat_f64x2_u_zero(), | 1352 | 31.8k | 0xfe => visitor.visit_f64x2_convert_low_i32x4_s(), | 1353 | 13.7k | 0xff => visitor.visit_f64x2_convert_low_i32x4_u(), | 1354 | 1.10k | 0x100 => visitor.visit_i8x16_relaxed_swizzle(), | 1355 | 12.0k | 0x101 => visitor.visit_i32x4_relaxed_trunc_f32x4_s(), | 1356 | 6.67k | 0x102 => visitor.visit_i32x4_relaxed_trunc_f32x4_u(), | 1357 | 10.6k | 0x103 => visitor.visit_i32x4_relaxed_trunc_f64x2_s_zero(), | 1358 | 6.85k | 0x104 => visitor.visit_i32x4_relaxed_trunc_f64x2_u_zero(), | 1359 | 2.41k | 0x105 => visitor.visit_f32x4_relaxed_madd(), | 1360 | 2.71k | 0x106 => visitor.visit_f32x4_relaxed_nmadd(), | 1361 | 499 | 0x107 => visitor.visit_f64x2_relaxed_madd(), | 1362 | 1.62k | 0x108 => visitor.visit_f64x2_relaxed_nmadd(), | 1363 | 1.22k | 0x109 => visitor.visit_i8x16_relaxed_laneselect(), | 1364 | 791 | 0x10a => visitor.visit_i16x8_relaxed_laneselect(), | 1365 | 2.60k | 0x10b => visitor.visit_i32x4_relaxed_laneselect(), | 1366 | 935 | 0x10c => visitor.visit_i64x2_relaxed_laneselect(), | 1367 | 3.43k | 0x10d => visitor.visit_f32x4_relaxed_min(), | 1368 | 3.39k | 0x10e => visitor.visit_f32x4_relaxed_max(), | 1369 | 950 | 0x10f => visitor.visit_f64x2_relaxed_min(), | 1370 | 2.83k | 0x110 => visitor.visit_f64x2_relaxed_max(), | 1371 | 2.40k | 0x111 => visitor.visit_i16x8_relaxed_q15mulr_s(), | 1372 | 1.60k | 0x112 => visitor.visit_i16x8_relaxed_dot_i8x16_i7x16_s(), | 1373 | 620 | 0x113 => visitor.visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(), | 1374 | | | 1375 | 186 | _ => bail!(pos, "unknown 0xfd subopcode: 0x{code:x}"), | 1376 | | }) | 1377 | 2.69M | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<wasmparser::validator::operators::WasmProposalValidator<wasmparser::validator::core::ValidatorResources>> Line | Count | Source | 1063 | 15.9M | fn visit_0xfd_operator<T>( | 1064 | 15.9M | &mut self, | 1065 | 15.9M | pos: usize, | 1066 | 15.9M | visitor: &mut T, | 1067 | 15.9M | ) -> Result<<T as VisitOperator<'a>>::Output> | 1068 | 15.9M | where | 1069 | 15.9M | T: VisitOperator<'a>, | 1070 | 15.9M | { | 1071 | 15.9M | let code = self.read_var_u32()?; | 1072 | 15.9M | Ok(match code { | 1073 | 107k | 0x00 => visitor.visit_v128_load(self.read_memarg(4)?), | 1074 | 21.8k | 0x01 => visitor.visit_v128_load8x8_s(self.read_memarg(3)?), | 1075 | 34.4k | 0x02 => visitor.visit_v128_load8x8_u(self.read_memarg(3)?), | 1076 | 14.9k | 0x03 => visitor.visit_v128_load16x4_s(self.read_memarg(3)?), | 1077 | 18.6k | 0x04 => visitor.visit_v128_load16x4_u(self.read_memarg(3)?), | 1078 | 15.7k | 0x05 => visitor.visit_v128_load32x2_s(self.read_memarg(3)?), | 1079 | 13.9k | 0x06 => visitor.visit_v128_load32x2_u(self.read_memarg(3)?), | 1080 | 18.4k | 0x07 => visitor.visit_v128_load8_splat(self.read_memarg(0)?), | 1081 | 13.5k | 0x08 => visitor.visit_v128_load16_splat(self.read_memarg(1)?), | 1082 | 14.2k | 0x09 => visitor.visit_v128_load32_splat(self.read_memarg(2)?), | 1083 | 14.6k | 0x0a => visitor.visit_v128_load64_splat(self.read_memarg(3)?), | 1084 | | | 1085 | 17.5k | 0x0b => visitor.visit_v128_store(self.read_memarg(4)?), | 1086 | 4.14M | 0x0c => visitor.visit_v128_const(self.read_v128()?), | 1087 | | 0x0d => { | 1088 | 5.34k | let mut lanes: [u8; 16] = [0; 16]; | 1089 | 90.0k | for lane in &mut lanes { | 1090 | 84.7k | *lane = self.read_lane_index(32)? | 1091 | | } | 1092 | 5.26k | visitor.visit_i8x16_shuffle(lanes) | 1093 | | } | 1094 | | | 1095 | 12.5k | 0x0e => visitor.visit_i8x16_swizzle(), | 1096 | 72.9k | 0x0f => visitor.visit_i8x16_splat(), | 1097 | 54.7k | 0x10 => visitor.visit_i16x8_splat(), | 1098 | 47.0k | 0x11 => visitor.visit_i32x4_splat(), | 1099 | 32.7k | 0x12 => visitor.visit_i64x2_splat(), | 1100 | 31.4k | 0x13 => visitor.visit_f32x4_splat(), | 1101 | 28.8k | 0x14 => visitor.visit_f64x2_splat(), | 1102 | | | 1103 | 41.8k | 0x15 => visitor.visit_i8x16_extract_lane_s(self.read_lane_index(16)?), | 1104 | 39.5k | 0x16 => visitor.visit_i8x16_extract_lane_u(self.read_lane_index(16)?), | 1105 | 14.9k | 0x17 => visitor.visit_i8x16_replace_lane(self.read_lane_index(16)?), | 1106 | 39.3k | 0x18 => visitor.visit_i16x8_extract_lane_s(self.read_lane_index(8)?), | 1107 | 47.9k | 0x19 => visitor.visit_i16x8_extract_lane_u(self.read_lane_index(8)?), | 1108 | 7.77k | 0x1a => visitor.visit_i16x8_replace_lane(self.read_lane_index(8)?), | 1109 | 40.5k | 0x1b => visitor.visit_i32x4_extract_lane(self.read_lane_index(4)?), | 1110 | | | 1111 | 106k | 0x1c => visitor.visit_i32x4_replace_lane(self.read_lane_index(4)?), | 1112 | 43.7k | 0x1d => visitor.visit_i64x2_extract_lane(self.read_lane_index(2)?), | 1113 | 5.27k | 0x1e => visitor.visit_i64x2_replace_lane(self.read_lane_index(2)?), | 1114 | 58.9k | 0x1f => visitor.visit_f32x4_extract_lane(self.read_lane_index(4)?), | 1115 | 5.59k | 0x20 => visitor.visit_f32x4_replace_lane(self.read_lane_index(4)?), | 1116 | 42.1k | 0x21 => visitor.visit_f64x2_extract_lane(self.read_lane_index(2)?), | 1117 | 12.2k | 0x22 => visitor.visit_f64x2_replace_lane(self.read_lane_index(2)?), | 1118 | | | 1119 | 10.0k | 0x23 => visitor.visit_i8x16_eq(), | 1120 | 247k | 0x24 => visitor.visit_i8x16_ne(), | 1121 | 5.63k | 0x25 => visitor.visit_i8x16_lt_s(), | 1122 | 9.75k | 0x26 => visitor.visit_i8x16_lt_u(), | 1123 | 9.27k | 0x27 => visitor.visit_i8x16_gt_s(), | 1124 | 21.5k | 0x28 => visitor.visit_i8x16_gt_u(), | 1125 | 9.33k | 0x29 => visitor.visit_i8x16_le_s(), | 1126 | 9.25k | 0x2a => visitor.visit_i8x16_le_u(), | 1127 | 6.11k | 0x2b => visitor.visit_i8x16_ge_s(), | 1128 | 6.14k | 0x2c => visitor.visit_i8x16_ge_u(), | 1129 | 8.80k | 0x2d => visitor.visit_i16x8_eq(), | 1130 | 11.7k | 0x2e => visitor.visit_i16x8_ne(), | 1131 | 5.93k | 0x2f => visitor.visit_i16x8_lt_s(), | 1132 | 42.9k | 0x30 => visitor.visit_i16x8_lt_u(), | 1133 | 8.85k | 0x31 => visitor.visit_i16x8_gt_s(), | 1134 | 12.8k | 0x32 => visitor.visit_i16x8_gt_u(), | 1135 | 16.7k | 0x33 => visitor.visit_i16x8_le_s(), | 1136 | 105k | 0x34 => visitor.visit_i16x8_le_u(), | 1137 | 10.8k | 0x35 => visitor.visit_i16x8_ge_s(), | 1138 | 8.80k | 0x36 => visitor.visit_i16x8_ge_u(), | 1139 | 11.5k | 0x37 => visitor.visit_i32x4_eq(), | 1140 | 5.98k | 0x38 => visitor.visit_i32x4_ne(), | 1141 | 8.96k | 0x39 => visitor.visit_i32x4_lt_s(), | 1142 | 10.7k | 0x3a => visitor.visit_i32x4_lt_u(), | 1143 | 6.01k | 0x3b => visitor.visit_i32x4_gt_s(), | 1144 | 36.0k | 0x3c => visitor.visit_i32x4_gt_u(), | 1145 | 6.46k | 0x3d => visitor.visit_i32x4_le_s(), | 1146 | 6.10k | 0x3e => visitor.visit_i32x4_le_u(), | 1147 | 11.8k | 0x3f => visitor.visit_i32x4_ge_s(), | 1148 | 6.97k | 0x40 => visitor.visit_i32x4_ge_u(), | 1149 | 351k | 0x41 => visitor.visit_f32x4_eq(), | 1150 | 11.0k | 0x42 => visitor.visit_f32x4_ne(), | 1151 | 8.30k | 0x43 => visitor.visit_f32x4_lt(), | 1152 | 8.76k | 0x44 => visitor.visit_f32x4_gt(), | 1153 | 29.5k | 0x45 => visitor.visit_f32x4_le(), | 1154 | 12.5k | 0x46 => visitor.visit_f32x4_ge(), | 1155 | 407k | 0x47 => visitor.visit_f64x2_eq(), | 1156 | 6.33k | 0x48 => visitor.visit_f64x2_ne(), | 1157 | 9.97k | 0x49 => visitor.visit_f64x2_lt(), | 1158 | 10.3k | 0x4a => visitor.visit_f64x2_gt(), | 1159 | 8.04k | 0x4b => visitor.visit_f64x2_le(), | 1160 | 16.6k | 0x4c => visitor.visit_f64x2_ge(), | 1161 | 199k | 0x4d => visitor.visit_v128_not(), | 1162 | 9.09k | 0x4e => visitor.visit_v128_and(), | 1163 | 5.80k | 0x4f => visitor.visit_v128_andnot(), | 1164 | 12.6k | 0x50 => visitor.visit_v128_or(), | 1165 | 9.59k | 0x51 => visitor.visit_v128_xor(), | 1166 | 765k | 0x52 => visitor.visit_v128_bitselect(), | 1167 | 12.9k | 0x53 => visitor.visit_v128_any_true(), | 1168 | | | 1169 | | 0x54 => { | 1170 | 7.04k | let memarg = self.read_memarg(0)?; | 1171 | 7.04k | let lane = self.read_lane_index(16)?; | 1172 | 7.04k | visitor.visit_v128_load8_lane(memarg, lane) | 1173 | | } | 1174 | | 0x55 => { | 1175 | 7.15k | let memarg = self.read_memarg(1)?; | 1176 | 7.15k | let lane = self.read_lane_index(8)?; | 1177 | 7.15k | visitor.visit_v128_load16_lane(memarg, lane) | 1178 | | } | 1179 | | 0x56 => { | 1180 | 7.44k | let memarg = self.read_memarg(2)?; | 1181 | 7.43k | let lane = self.read_lane_index(4)?; | 1182 | 7.43k | visitor.visit_v128_load32_lane(memarg, lane) | 1183 | | } | 1184 | | 0x57 => { | 1185 | 13.7k | let memarg = self.read_memarg(3)?; | 1186 | 13.7k | let lane = self.read_lane_index(2)?; | 1187 | 13.7k | visitor.visit_v128_load64_lane(memarg, lane) | 1188 | | } | 1189 | | 0x58 => { | 1190 | 8.73k | let memarg = self.read_memarg(0)?; | 1191 | 8.73k | let lane = self.read_lane_index(16)?; | 1192 | 8.73k | visitor.visit_v128_store8_lane(memarg, lane) | 1193 | | } | 1194 | | 0x59 => { | 1195 | 6.18k | let memarg = self.read_memarg(1)?; | 1196 | 6.18k | let lane = self.read_lane_index(8)?; | 1197 | 6.17k | visitor.visit_v128_store16_lane(memarg, lane) | 1198 | | } | 1199 | | 0x5a => { | 1200 | 6.18k | let memarg = self.read_memarg(2)?; | 1201 | 6.18k | let lane = self.read_lane_index(4)?; | 1202 | 6.17k | visitor.visit_v128_store32_lane(memarg, lane) | 1203 | | } | 1204 | | 0x5b => { | 1205 | 7.06k | let memarg = self.read_memarg(3)?; | 1206 | 7.06k | let lane = self.read_lane_index(2)?; | 1207 | 7.05k | visitor.visit_v128_store64_lane(memarg, lane) | 1208 | | } | 1209 | | | 1210 | 33.9k | 0x5c => visitor.visit_v128_load32_zero(self.read_memarg(2)?), | 1211 | 23.3k | 0x5d => visitor.visit_v128_load64_zero(self.read_memarg(3)?), | 1212 | 154k | 0x5e => visitor.visit_f32x4_demote_f64x2_zero(), | 1213 | 94.2k | 0x5f => visitor.visit_f64x2_promote_low_f32x4(), | 1214 | 126k | 0x60 => visitor.visit_i8x16_abs(), | 1215 | 61.0k | 0x61 => visitor.visit_i8x16_neg(), | 1216 | 75.7k | 0x62 => visitor.visit_i8x16_popcnt(), | 1217 | 37.6k | 0x63 => visitor.visit_i8x16_all_true(), | 1218 | 59.6k | 0x64 => visitor.visit_i8x16_bitmask(), | 1219 | 3.48k | 0x65 => visitor.visit_i8x16_narrow_i16x8_s(), | 1220 | 8.21k | 0x66 => visitor.visit_i8x16_narrow_i16x8_u(), | 1221 | 50.8k | 0x67 => visitor.visit_f32x4_ceil(), | 1222 | 91.2k | 0x68 => visitor.visit_f32x4_floor(), | 1223 | 59.7k | 0x69 => visitor.visit_f32x4_trunc(), | 1224 | 74.0k | 0x6a => visitor.visit_f32x4_nearest(), | 1225 | 5.70k | 0x6b => visitor.visit_i8x16_shl(), | 1226 | 4.45k | 0x6c => visitor.visit_i8x16_shr_s(), | 1227 | 6.52k | 0x6d => visitor.visit_i8x16_shr_u(), | 1228 | 11.4k | 0x6e => visitor.visit_i8x16_add(), | 1229 | 4.99k | 0x6f => visitor.visit_i8x16_add_sat_s(), | 1230 | 8.75k | 0x70 => visitor.visit_i8x16_add_sat_u(), | 1231 | 9.89k | 0x71 => visitor.visit_i8x16_sub(), | 1232 | 5.62k | 0x72 => visitor.visit_i8x16_sub_sat_s(), | 1233 | 7.08k | 0x73 => visitor.visit_i8x16_sub_sat_u(), | 1234 | 80.8k | 0x74 => visitor.visit_f64x2_ceil(), | 1235 | 52.0k | 0x75 => visitor.visit_f64x2_floor(), | 1236 | 10.0k | 0x76 => visitor.visit_i8x16_min_s(), | 1237 | 7.70k | 0x77 => visitor.visit_i8x16_min_u(), | 1238 | 27.6k | 0x78 => visitor.visit_i8x16_max_s(), | 1239 | 7.56k | 0x79 => visitor.visit_i8x16_max_u(), | 1240 | 97.3k | 0x7a => visitor.visit_f64x2_trunc(), | 1241 | 11.0k | 0x7b => visitor.visit_i8x16_avgr_u(), | 1242 | 58.4k | 0x7c => visitor.visit_i16x8_extadd_pairwise_i8x16_s(), | 1243 | 162k | 0x7d => visitor.visit_i16x8_extadd_pairwise_i8x16_u(), | 1244 | 285k | 0x7e => visitor.visit_i32x4_extadd_pairwise_i16x8_s(), | 1245 | 227k | 0x7f => visitor.visit_i32x4_extadd_pairwise_i16x8_u(), | 1246 | 164k | 0x80 => visitor.visit_i16x8_abs(), | 1247 | 106k | 0x81 => visitor.visit_i16x8_neg(), | 1248 | 5.54k | 0x82 => visitor.visit_i16x8_q15mulr_sat_s(), | 1249 | 36.8k | 0x83 => visitor.visit_i16x8_all_true(), | 1250 | 69.3k | 0x84 => visitor.visit_i16x8_bitmask(), | 1251 | 7.77k | 0x85 => visitor.visit_i16x8_narrow_i32x4_s(), | 1252 | 5.75k | 0x86 => visitor.visit_i16x8_narrow_i32x4_u(), | 1253 | 91.5k | 0x87 => visitor.visit_i16x8_extend_low_i8x16_s(), | 1254 | 84.9k | 0x88 => visitor.visit_i16x8_extend_high_i8x16_s(), | 1255 | 114k | 0x89 => visitor.visit_i16x8_extend_low_i8x16_u(), | 1256 | 71.4k | 0x8a => visitor.visit_i16x8_extend_high_i8x16_u(), | 1257 | 5.95k | 0x8b => visitor.visit_i16x8_shl(), | 1258 | 1.89k | 0x8c => visitor.visit_i16x8_shr_s(), | 1259 | 4.30k | 0x8d => visitor.visit_i16x8_shr_u(), | 1260 | 19.9k | 0x8e => visitor.visit_i16x8_add(), | 1261 | 4.83k | 0x8f => visitor.visit_i16x8_add_sat_s(), | 1262 | 7.98k | 0x90 => visitor.visit_i16x8_add_sat_u(), | 1263 | 6.36k | 0x91 => visitor.visit_i16x8_sub(), | 1264 | 8.90k | 0x92 => visitor.visit_i16x8_sub_sat_s(), | 1265 | 11.5k | 0x93 => visitor.visit_i16x8_sub_sat_u(), | 1266 | 103k | 0x94 => visitor.visit_f64x2_nearest(), | 1267 | 13.1k | 0x95 => visitor.visit_i16x8_mul(), | 1268 | 8.20k | 0x96 => visitor.visit_i16x8_min_s(), | 1269 | 3.80k | 0x97 => visitor.visit_i16x8_min_u(), | 1270 | 6.25k | 0x98 => visitor.visit_i16x8_max_s(), | 1271 | 4.60k | 0x99 => visitor.visit_i16x8_max_u(), | 1272 | 6.62k | 0x9b => visitor.visit_i16x8_avgr_u(), | 1273 | 11.9k | 0x9c => visitor.visit_i16x8_extmul_low_i8x16_s(), | 1274 | 13.2k | 0x9d => visitor.visit_i16x8_extmul_high_i8x16_s(), | 1275 | 4.72k | 0x9e => visitor.visit_i16x8_extmul_low_i8x16_u(), | 1276 | 5.53k | 0x9f => visitor.visit_i16x8_extmul_high_i8x16_u(), | 1277 | 148k | 0xa0 => visitor.visit_i32x4_abs(), | 1278 | 113k | 0xa1 => visitor.visit_i32x4_neg(), | 1279 | 35.7k | 0xa3 => visitor.visit_i32x4_all_true(), | 1280 | 33.0k | 0xa4 => visitor.visit_i32x4_bitmask(), | 1281 | 74.1k | 0xa7 => visitor.visit_i32x4_extend_low_i16x8_s(), | 1282 | 93.6k | 0xa8 => visitor.visit_i32x4_extend_high_i16x8_s(), | 1283 | 86.6k | 0xa9 => visitor.visit_i32x4_extend_low_i16x8_u(), | 1284 | 99.6k | 0xaa => visitor.visit_i32x4_extend_high_i16x8_u(), | 1285 | 4.45k | 0xab => visitor.visit_i32x4_shl(), | 1286 | 9.10k | 0xac => visitor.visit_i32x4_shr_s(), | 1287 | 3.72k | 0xad => visitor.visit_i32x4_shr_u(), | 1288 | 4.15k | 0xae => visitor.visit_i32x4_add(), | 1289 | 14.6k | 0xb1 => visitor.visit_i32x4_sub(), | 1290 | 5.45k | 0xb5 => visitor.visit_i32x4_mul(), | 1291 | 4.91k | 0xb6 => visitor.visit_i32x4_min_s(), | 1292 | 5.69k | 0xb7 => visitor.visit_i32x4_min_u(), | 1293 | 5.99k | 0xb8 => visitor.visit_i32x4_max_s(), | 1294 | 4.52k | 0xb9 => visitor.visit_i32x4_max_u(), | 1295 | 4.94k | 0xba => visitor.visit_i32x4_dot_i16x8_s(), | 1296 | 5.44k | 0xbc => visitor.visit_i32x4_extmul_low_i16x8_s(), | 1297 | 7.42k | 0xbd => visitor.visit_i32x4_extmul_high_i16x8_s(), | 1298 | 20.1k | 0xbe => visitor.visit_i32x4_extmul_low_i16x8_u(), | 1299 | 2.89k | 0xbf => visitor.visit_i32x4_extmul_high_i16x8_u(), | 1300 | 399k | 0xc0 => visitor.visit_i64x2_abs(), | 1301 | 250k | 0xc1 => visitor.visit_i64x2_neg(), | 1302 | 76.1k | 0xc3 => visitor.visit_i64x2_all_true(), | 1303 | 31.8k | 0xc4 => visitor.visit_i64x2_bitmask(), | 1304 | 273k | 0xc7 => visitor.visit_i64x2_extend_low_i32x4_s(), | 1305 | 223k | 0xc8 => visitor.visit_i64x2_extend_high_i32x4_s(), | 1306 | 159k | 0xc9 => visitor.visit_i64x2_extend_low_i32x4_u(), | 1307 | 202k | 0xca => visitor.visit_i64x2_extend_high_i32x4_u(), | 1308 | 5.72k | 0xcb => visitor.visit_i64x2_shl(), | 1309 | 5.01k | 0xcc => visitor.visit_i64x2_shr_s(), | 1310 | 3.98k | 0xcd => visitor.visit_i64x2_shr_u(), | 1311 | 10.1k | 0xce => visitor.visit_i64x2_add(), | 1312 | 9.21k | 0xd1 => visitor.visit_i64x2_sub(), | 1313 | 8.03k | 0xd5 => visitor.visit_i64x2_mul(), | 1314 | 8.67k | 0xd6 => visitor.visit_i64x2_eq(), | 1315 | 23.9k | 0xd7 => visitor.visit_i64x2_ne(), | 1316 | 8.24k | 0xd8 => visitor.visit_i64x2_lt_s(), | 1317 | 18.2k | 0xd9 => visitor.visit_i64x2_gt_s(), | 1318 | 6.96k | 0xda => visitor.visit_i64x2_le_s(), | 1319 | 4.05k | 0xdb => visitor.visit_i64x2_ge_s(), | 1320 | 13.3k | 0xdc => visitor.visit_i64x2_extmul_low_i32x4_s(), | 1321 | 7.90k | 0xdd => visitor.visit_i64x2_extmul_high_i32x4_s(), | 1322 | 4.35k | 0xde => visitor.visit_i64x2_extmul_low_i32x4_u(), | 1323 | 12.3k | 0xdf => visitor.visit_i64x2_extmul_high_i32x4_u(), | 1324 | 114k | 0xe0 => visitor.visit_f32x4_abs(), | 1325 | 64.1k | 0xe1 => visitor.visit_f32x4_neg(), | 1326 | 79.5k | 0xe3 => visitor.visit_f32x4_sqrt(), | 1327 | 7.23k | 0xe4 => visitor.visit_f32x4_add(), | 1328 | 12.9k | 0xe5 => visitor.visit_f32x4_sub(), | 1329 | 14.2k | 0xe6 => visitor.visit_f32x4_mul(), | 1330 | 6.16k | 0xe7 => visitor.visit_f32x4_div(), | 1331 | 9.54k | 0xe8 => visitor.visit_f32x4_min(), | 1332 | 12.9k | 0xe9 => visitor.visit_f32x4_max(), | 1333 | 14.5k | 0xea => visitor.visit_f32x4_pmin(), | 1334 | 4.63k | 0xeb => visitor.visit_f32x4_pmax(), | 1335 | 125k | 0xec => visitor.visit_f64x2_abs(), | 1336 | 114k | 0xed => visitor.visit_f64x2_neg(), | 1337 | 82.6k | 0xef => visitor.visit_f64x2_sqrt(), | 1338 | 7.52k | 0xf0 => visitor.visit_f64x2_add(), | 1339 | 6.40k | 0xf1 => visitor.visit_f64x2_sub(), | 1340 | 13.5k | 0xf2 => visitor.visit_f64x2_mul(), | 1341 | 8.31k | 0xf3 => visitor.visit_f64x2_div(), | 1342 | 7.65k | 0xf4 => visitor.visit_f64x2_min(), | 1343 | 6.42k | 0xf5 => visitor.visit_f64x2_max(), | 1344 | 5.05k | 0xf6 => visitor.visit_f64x2_pmin(), | 1345 | 8.19k | 0xf7 => visitor.visit_f64x2_pmax(), | 1346 | 111k | 0xf8 => visitor.visit_i32x4_trunc_sat_f32x4_s(), | 1347 | 211k | 0xf9 => visitor.visit_i32x4_trunc_sat_f32x4_u(), | 1348 | 106k | 0xfa => visitor.visit_f32x4_convert_i32x4_s(), | 1349 | 238k | 0xfb => visitor.visit_f32x4_convert_i32x4_u(), | 1350 | 185k | 0xfc => visitor.visit_i32x4_trunc_sat_f64x2_s_zero(), | 1351 | 106k | 0xfd => visitor.visit_i32x4_trunc_sat_f64x2_u_zero(), | 1352 | 93.4k | 0xfe => visitor.visit_f64x2_convert_low_i32x4_s(), | 1353 | 100k | 0xff => visitor.visit_f64x2_convert_low_i32x4_u(), | 1354 | 5.20k | 0x100 => visitor.visit_i8x16_relaxed_swizzle(), | 1355 | 72.6k | 0x101 => visitor.visit_i32x4_relaxed_trunc_f32x4_s(), | 1356 | 218k | 0x102 => visitor.visit_i32x4_relaxed_trunc_f32x4_u(), | 1357 | 90.6k | 0x103 => visitor.visit_i32x4_relaxed_trunc_f64x2_s_zero(), | 1358 | 59.2k | 0x104 => visitor.visit_i32x4_relaxed_trunc_f64x2_u_zero(), | 1359 | 4.31k | 0x105 => visitor.visit_f32x4_relaxed_madd(), | 1360 | 3.63k | 0x106 => visitor.visit_f32x4_relaxed_nmadd(), | 1361 | 3.22k | 0x107 => visitor.visit_f64x2_relaxed_madd(), | 1362 | 4.26k | 0x108 => visitor.visit_f64x2_relaxed_nmadd(), | 1363 | 4.12k | 0x109 => visitor.visit_i8x16_relaxed_laneselect(), | 1364 | 8.93k | 0x10a => visitor.visit_i16x8_relaxed_laneselect(), | 1365 | 5.99k | 0x10b => visitor.visit_i32x4_relaxed_laneselect(), | 1366 | 7.43k | 0x10c => visitor.visit_i64x2_relaxed_laneselect(), | 1367 | 11.6k | 0x10d => visitor.visit_f32x4_relaxed_min(), | 1368 | 7.99k | 0x10e => visitor.visit_f32x4_relaxed_max(), | 1369 | 4.71k | 0x10f => visitor.visit_f64x2_relaxed_min(), | 1370 | 7.17k | 0x110 => visitor.visit_f64x2_relaxed_max(), | 1371 | 19.0k | 0x111 => visitor.visit_i16x8_relaxed_q15mulr_s(), | 1372 | 3.77k | 0x112 => visitor.visit_i16x8_relaxed_dot_i8x16_i7x16_s(), | 1373 | 5.09k | 0x113 => visitor.visit_i32x4_relaxed_dot_i8x16_i7x16_add_s(), | 1374 | | | 1375 | 88 | _ => bail!(pos, "unknown 0xfd subopcode: 0x{code:x}"), | 1376 | | }) | 1377 | 15.9M | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<wit_component::gc::Encoder> Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfd_operator::<wit_component::gc::Module> |
1378 | | |
1379 | 461k | fn visit_0xfe_operator<T>( |
1380 | 461k | &mut self, |
1381 | 461k | pos: usize, |
1382 | 461k | visitor: &mut T, |
1383 | 461k | ) -> Result<<T as VisitOperator<'a>>::Output> |
1384 | 461k | where |
1385 | 461k | T: VisitOperator<'a>, |
1386 | 461k | { |
1387 | 461k | let code = self.read_var_u32()?; |
1388 | 461k | Ok(match code { |
1389 | 15.6k | 0x00 => visitor.visit_memory_atomic_notify(self.read_memarg(2)?), |
1390 | 133k | 0x01 => visitor.visit_memory_atomic_wait32(self.read_memarg(2)?), |
1391 | 8.25k | 0x02 => visitor.visit_memory_atomic_wait64(self.read_memarg(3)?), |
1392 | | 0x03 => { |
1393 | 2.53k | if self.read_u8()? != 0 { |
1394 | 4 | bail!(pos, "nonzero byte after `atomic.fence`"); |
1395 | 2.52k | } |
1396 | 2.52k | visitor.visit_atomic_fence() |
1397 | | } |
1398 | 1.20k | 0x10 => visitor.visit_i32_atomic_load(self.read_memarg(2)?), |
1399 | 691 | 0x11 => visitor.visit_i64_atomic_load(self.read_memarg(3)?), |
1400 | 7.38k | 0x12 => visitor.visit_i32_atomic_load8_u(self.read_memarg(0)?), |
1401 | 2.67k | 0x13 => visitor.visit_i32_atomic_load16_u(self.read_memarg(1)?), |
1402 | 3.31k | 0x14 => visitor.visit_i64_atomic_load8_u(self.read_memarg(0)?), |
1403 | 1.41k | 0x15 => visitor.visit_i64_atomic_load16_u(self.read_memarg(1)?), |
1404 | 4.31k | 0x16 => visitor.visit_i64_atomic_load32_u(self.read_memarg(2)?), |
1405 | 6.10k | 0x17 => visitor.visit_i32_atomic_store(self.read_memarg(2)?), |
1406 | 5.62k | 0x18 => visitor.visit_i64_atomic_store(self.read_memarg(3)?), |
1407 | 1.75k | 0x19 => visitor.visit_i32_atomic_store8(self.read_memarg(0)?), |
1408 | 1.76k | 0x1a => visitor.visit_i32_atomic_store16(self.read_memarg(1)?), |
1409 | 4.13k | 0x1b => visitor.visit_i64_atomic_store8(self.read_memarg(0)?), |
1410 | 3.26k | 0x1c => visitor.visit_i64_atomic_store16(self.read_memarg(1)?), |
1411 | 1.10k | 0x1d => visitor.visit_i64_atomic_store32(self.read_memarg(2)?), |
1412 | 720 | 0x1e => visitor.visit_i32_atomic_rmw_add(self.read_memarg(2)?), |
1413 | 58.6k | 0x1f => visitor.visit_i64_atomic_rmw_add(self.read_memarg(3)?), |
1414 | 1.44k | 0x20 => visitor.visit_i32_atomic_rmw8_add_u(self.read_memarg(0)?), |
1415 | 1.98k | 0x21 => visitor.visit_i32_atomic_rmw16_add_u(self.read_memarg(1)?), |
1416 | 4.23k | 0x22 => visitor.visit_i64_atomic_rmw8_add_u(self.read_memarg(0)?), |
1417 | 8.50k | 0x23 => visitor.visit_i64_atomic_rmw16_add_u(self.read_memarg(1)?), |
1418 | 1.99k | 0x24 => visitor.visit_i64_atomic_rmw32_add_u(self.read_memarg(2)?), |
1419 | 2.74k | 0x25 => visitor.visit_i32_atomic_rmw_sub(self.read_memarg(2)?), |
1420 | 649 | 0x26 => visitor.visit_i64_atomic_rmw_sub(self.read_memarg(3)?), |
1421 | 8.93k | 0x27 => visitor.visit_i32_atomic_rmw8_sub_u(self.read_memarg(0)?), |
1422 | 850 | 0x28 => visitor.visit_i32_atomic_rmw16_sub_u(self.read_memarg(1)?), |
1423 | 2.70k | 0x29 => visitor.visit_i64_atomic_rmw8_sub_u(self.read_memarg(0)?), |
1424 | 10.4k | 0x2a => visitor.visit_i64_atomic_rmw16_sub_u(self.read_memarg(1)?), |
1425 | 2.15k | 0x2b => visitor.visit_i64_atomic_rmw32_sub_u(self.read_memarg(2)?), |
1426 | 904 | 0x2c => visitor.visit_i32_atomic_rmw_and(self.read_memarg(2)?), |
1427 | 4.98k | 0x2d => visitor.visit_i64_atomic_rmw_and(self.read_memarg(3)?), |
1428 | 2.06k | 0x2e => visitor.visit_i32_atomic_rmw8_and_u(self.read_memarg(0)?), |
1429 | 2.37k | 0x2f => visitor.visit_i32_atomic_rmw16_and_u(self.read_memarg(1)?), |
1430 | 6.29k | 0x30 => visitor.visit_i64_atomic_rmw8_and_u(self.read_memarg(0)?), |
1431 | 1.98k | 0x31 => visitor.visit_i64_atomic_rmw16_and_u(self.read_memarg(1)?), |
1432 | 2.00k | 0x32 => visitor.visit_i64_atomic_rmw32_and_u(self.read_memarg(2)?), |
1433 | 5.88k | 0x33 => visitor.visit_i32_atomic_rmw_or(self.read_memarg(2)?), |
1434 | 2.75k | 0x34 => visitor.visit_i64_atomic_rmw_or(self.read_memarg(3)?), |
1435 | 4.10k | 0x35 => visitor.visit_i32_atomic_rmw8_or_u(self.read_memarg(0)?), |
1436 | 3.68k | 0x36 => visitor.visit_i32_atomic_rmw16_or_u(self.read_memarg(1)?), |
1437 | 2.41k | 0x37 => visitor.visit_i64_atomic_rmw8_or_u(self.read_memarg(0)?), |
1438 | 12.0k | 0x38 => visitor.visit_i64_atomic_rmw16_or_u(self.read_memarg(1)?), |
1439 | 15.3k | 0x39 => visitor.visit_i64_atomic_rmw32_or_u(self.read_memarg(2)?), |
1440 | 4.62k | 0x3a => visitor.visit_i32_atomic_rmw_xor(self.read_memarg(2)?), |
1441 | 1.88k | 0x3b => visitor.visit_i64_atomic_rmw_xor(self.read_memarg(3)?), |
1442 | 2.36k | 0x3c => visitor.visit_i32_atomic_rmw8_xor_u(self.read_memarg(0)?), |
1443 | 6.81k | 0x3d => visitor.visit_i32_atomic_rmw16_xor_u(self.read_memarg(1)?), |
1444 | 8.17k | 0x3e => visitor.visit_i64_atomic_rmw8_xor_u(self.read_memarg(0)?), |
1445 | 22.3k | 0x3f => visitor.visit_i64_atomic_rmw16_xor_u(self.read_memarg(1)?), |
1446 | 2.10k | 0x40 => visitor.visit_i64_atomic_rmw32_xor_u(self.read_memarg(2)?), |
1447 | 4.33k | 0x41 => visitor.visit_i32_atomic_rmw_xchg(self.read_memarg(2)?), |
1448 | 3.32k | 0x42 => visitor.visit_i64_atomic_rmw_xchg(self.read_memarg(3)?), |
1449 | 1.58k | 0x43 => visitor.visit_i32_atomic_rmw8_xchg_u(self.read_memarg(0)?), |
1450 | 1.58k | 0x44 => visitor.visit_i32_atomic_rmw16_xchg_u(self.read_memarg(1)?), |
1451 | 1.32k | 0x45 => visitor.visit_i64_atomic_rmw8_xchg_u(self.read_memarg(0)?), |
1452 | 6.90k | 0x46 => visitor.visit_i64_atomic_rmw16_xchg_u(self.read_memarg(1)?), |
1453 | 2.17k | 0x47 => visitor.visit_i64_atomic_rmw32_xchg_u(self.read_memarg(2)?), |
1454 | 4.43k | 0x48 => visitor.visit_i32_atomic_rmw_cmpxchg(self.read_memarg(2)?), |
1455 | 542 | 0x49 => visitor.visit_i64_atomic_rmw_cmpxchg(self.read_memarg(3)?), |
1456 | 1.69k | 0x4a => visitor.visit_i32_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), |
1457 | 1.42k | 0x4b => visitor.visit_i32_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), |
1458 | 882 | 0x4c => visitor.visit_i64_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), |
1459 | 1.51k | 0x4d => visitor.visit_i64_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), |
1460 | 3.23k | 0x4e => visitor.visit_i64_atomic_rmw32_cmpxchg_u(self.read_memarg(2)?), |
1461 | | |
1462 | 74 | _ => bail!(pos, "unknown 0xfe subopcode: 0x{code:x}"), |
1463 | | }) |
1464 | 461k | } <wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<wasmprinter::operator::PrintOperator> Line | Count | Source | 1379 | 155k | fn visit_0xfe_operator<T>( | 1380 | 155k | &mut self, | 1381 | 155k | pos: usize, | 1382 | 155k | visitor: &mut T, | 1383 | 155k | ) -> Result<<T as VisitOperator<'a>>::Output> | 1384 | 155k | where | 1385 | 155k | T: VisitOperator<'a>, | 1386 | 155k | { | 1387 | 155k | let code = self.read_var_u32()?; | 1388 | 155k | Ok(match code { | 1389 | 5.75k | 0x00 => visitor.visit_memory_atomic_notify(self.read_memarg(2)?), | 1390 | 50.2k | 0x01 => visitor.visit_memory_atomic_wait32(self.read_memarg(2)?), | 1391 | 1.90k | 0x02 => visitor.visit_memory_atomic_wait64(self.read_memarg(3)?), | 1392 | | 0x03 => { | 1393 | 859 | if self.read_u8()? != 0 { | 1394 | 1 | bail!(pos, "nonzero byte after `atomic.fence`"); | 1395 | 858 | } | 1396 | 858 | visitor.visit_atomic_fence() | 1397 | | } | 1398 | 419 | 0x10 => visitor.visit_i32_atomic_load(self.read_memarg(2)?), | 1399 | 262 | 0x11 => visitor.visit_i64_atomic_load(self.read_memarg(3)?), | 1400 | 411 | 0x12 => visitor.visit_i32_atomic_load8_u(self.read_memarg(0)?), | 1401 | 1.04k | 0x13 => visitor.visit_i32_atomic_load16_u(self.read_memarg(1)?), | 1402 | 1.05k | 0x14 => visitor.visit_i64_atomic_load8_u(self.read_memarg(0)?), | 1403 | 247 | 0x15 => visitor.visit_i64_atomic_load16_u(self.read_memarg(1)?), | 1404 | 1.52k | 0x16 => visitor.visit_i64_atomic_load32_u(self.read_memarg(2)?), | 1405 | 1.91k | 0x17 => visitor.visit_i32_atomic_store(self.read_memarg(2)?), | 1406 | 1.20k | 0x18 => visitor.visit_i64_atomic_store(self.read_memarg(3)?), | 1407 | 663 | 0x19 => visitor.visit_i32_atomic_store8(self.read_memarg(0)?), | 1408 | 735 | 0x1a => visitor.visit_i32_atomic_store16(self.read_memarg(1)?), | 1409 | 632 | 0x1b => visitor.visit_i64_atomic_store8(self.read_memarg(0)?), | 1410 | 1.37k | 0x1c => visitor.visit_i64_atomic_store16(self.read_memarg(1)?), | 1411 | 399 | 0x1d => visitor.visit_i64_atomic_store32(self.read_memarg(2)?), | 1412 | 238 | 0x1e => visitor.visit_i32_atomic_rmw_add(self.read_memarg(2)?), | 1413 | 19.7k | 0x1f => visitor.visit_i64_atomic_rmw_add(self.read_memarg(3)?), | 1414 | 368 | 0x20 => visitor.visit_i32_atomic_rmw8_add_u(self.read_memarg(0)?), | 1415 | 734 | 0x21 => visitor.visit_i32_atomic_rmw16_add_u(self.read_memarg(1)?), | 1416 | 383 | 0x22 => visitor.visit_i64_atomic_rmw8_add_u(self.read_memarg(0)?), | 1417 | 2.94k | 0x23 => visitor.visit_i64_atomic_rmw16_add_u(self.read_memarg(1)?), | 1418 | 743 | 0x24 => visitor.visit_i64_atomic_rmw32_add_u(self.read_memarg(2)?), | 1419 | 643 | 0x25 => visitor.visit_i32_atomic_rmw_sub(self.read_memarg(2)?), | 1420 | 193 | 0x26 => visitor.visit_i64_atomic_rmw_sub(self.read_memarg(3)?), | 1421 | 3.23k | 0x27 => visitor.visit_i32_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1422 | 237 | 0x28 => visitor.visit_i32_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1423 | 719 | 0x29 => visitor.visit_i64_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1424 | 3.98k | 0x2a => visitor.visit_i64_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1425 | 854 | 0x2b => visitor.visit_i64_atomic_rmw32_sub_u(self.read_memarg(2)?), | 1426 | 249 | 0x2c => visitor.visit_i32_atomic_rmw_and(self.read_memarg(2)?), | 1427 | 1.47k | 0x2d => visitor.visit_i64_atomic_rmw_and(self.read_memarg(3)?), | 1428 | 605 | 0x2e => visitor.visit_i32_atomic_rmw8_and_u(self.read_memarg(0)?), | 1429 | 870 | 0x2f => visitor.visit_i32_atomic_rmw16_and_u(self.read_memarg(1)?), | 1430 | 1.23k | 0x30 => visitor.visit_i64_atomic_rmw8_and_u(self.read_memarg(0)?), | 1431 | 738 | 0x31 => visitor.visit_i64_atomic_rmw16_and_u(self.read_memarg(1)?), | 1432 | 756 | 0x32 => visitor.visit_i64_atomic_rmw32_and_u(self.read_memarg(2)?), | 1433 | 2.22k | 0x33 => visitor.visit_i32_atomic_rmw_or(self.read_memarg(2)?), | 1434 | 1.15k | 0x34 => visitor.visit_i64_atomic_rmw_or(self.read_memarg(3)?), | 1435 | 868 | 0x35 => visitor.visit_i32_atomic_rmw8_or_u(self.read_memarg(0)?), | 1436 | 1.55k | 0x36 => visitor.visit_i32_atomic_rmw16_or_u(self.read_memarg(1)?), | 1437 | 945 | 0x37 => visitor.visit_i64_atomic_rmw8_or_u(self.read_memarg(0)?), | 1438 | 4.59k | 0x38 => visitor.visit_i64_atomic_rmw16_or_u(self.read_memarg(1)?), | 1439 | 5.22k | 0x39 => visitor.visit_i64_atomic_rmw32_or_u(self.read_memarg(2)?), | 1440 | 1.25k | 0x3a => visitor.visit_i32_atomic_rmw_xor(self.read_memarg(2)?), | 1441 | 672 | 0x3b => visitor.visit_i64_atomic_rmw_xor(self.read_memarg(3)?), | 1442 | 623 | 0x3c => visitor.visit_i32_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1443 | 2.02k | 0x3d => visitor.visit_i32_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1444 | 2.93k | 0x3e => visitor.visit_i64_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1445 | 7.62k | 0x3f => visitor.visit_i64_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1446 | 330 | 0x40 => visitor.visit_i64_atomic_rmw32_xor_u(self.read_memarg(2)?), | 1447 | 1.90k | 0x41 => visitor.visit_i32_atomic_rmw_xchg(self.read_memarg(2)?), | 1448 | 989 | 0x42 => visitor.visit_i64_atomic_rmw_xchg(self.read_memarg(3)?), | 1449 | 615 | 0x43 => visitor.visit_i32_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1450 | 627 | 0x44 => visitor.visit_i32_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1451 | 550 | 0x45 => visitor.visit_i64_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1452 | 2.36k | 0x46 => visitor.visit_i64_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1453 | 370 | 0x47 => visitor.visit_i64_atomic_rmw32_xchg_u(self.read_memarg(2)?), | 1454 | 1.86k | 0x48 => visitor.visit_i32_atomic_rmw_cmpxchg(self.read_memarg(2)?), | 1455 | 177 | 0x49 => visitor.visit_i64_atomic_rmw_cmpxchg(self.read_memarg(3)?), | 1456 | 469 | 0x4a => visitor.visit_i32_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1457 | 474 | 0x4b => visitor.visit_i32_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1458 | 199 | 0x4c => visitor.visit_i64_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1459 | 411 | 0x4d => visitor.visit_i64_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1460 | 1.12k | 0x4e => visitor.visit_i64_atomic_rmw32_cmpxchg_u(self.read_memarg(2)?), | 1461 | | | 1462 | 5 | _ => bail!(pos, "unknown 0xfe subopcode: 0x{code:x}"), | 1463 | | }) | 1464 | 155k | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<wasmparser::validator::operators::WasmProposalValidator<wasmparser::validator::core::ValidatorResources>> Line | Count | Source | 1379 | 21.9k | fn visit_0xfe_operator<T>( | 1380 | 21.9k | &mut self, | 1381 | 21.9k | pos: usize, | 1382 | 21.9k | visitor: &mut T, | 1383 | 21.9k | ) -> Result<<T as VisitOperator<'a>>::Output> | 1384 | 21.9k | where | 1385 | 21.9k | T: VisitOperator<'a>, | 1386 | 21.9k | { | 1387 | 21.9k | let code = self.read_var_u32()?; | 1388 | 21.9k | Ok(match code { | 1389 | 22 | 0x00 => visitor.visit_memory_atomic_notify(self.read_memarg(2)?), | 1390 | 1.02k | 0x01 => visitor.visit_memory_atomic_wait32(self.read_memarg(2)?), | 1391 | 2.68k | 0x02 => visitor.visit_memory_atomic_wait64(self.read_memarg(3)?), | 1392 | | 0x03 => { | 1393 | 343 | if self.read_u8()? != 0 { | 1394 | 2 | bail!(pos, "nonzero byte after `atomic.fence`"); | 1395 | 340 | } | 1396 | 340 | visitor.visit_atomic_fence() | 1397 | | } | 1398 | 6 | 0x10 => visitor.visit_i32_atomic_load(self.read_memarg(2)?), | 1399 | 4 | 0x11 => visitor.visit_i64_atomic_load(self.read_memarg(3)?), | 1400 | 5.97k | 0x12 => visitor.visit_i32_atomic_load8_u(self.read_memarg(0)?), | 1401 | 9 | 0x13 => visitor.visit_i32_atomic_load16_u(self.read_memarg(1)?), | 1402 | 45 | 0x14 => visitor.visit_i64_atomic_load8_u(self.read_memarg(0)?), | 1403 | 7 | 0x15 => visitor.visit_i64_atomic_load16_u(self.read_memarg(1)?), | 1404 | 165 | 0x16 => visitor.visit_i64_atomic_load32_u(self.read_memarg(2)?), | 1405 | 5 | 0x17 => visitor.visit_i32_atomic_store(self.read_memarg(2)?), | 1406 | 11 | 0x18 => visitor.visit_i64_atomic_store(self.read_memarg(3)?), | 1407 | 19 | 0x19 => visitor.visit_i32_atomic_store8(self.read_memarg(0)?), | 1408 | 4 | 0x1a => visitor.visit_i32_atomic_store16(self.read_memarg(1)?), | 1409 | 1.95k | 0x1b => visitor.visit_i64_atomic_store8(self.read_memarg(0)?), | 1410 | 6 | 0x1c => visitor.visit_i64_atomic_store16(self.read_memarg(1)?), | 1411 | 4 | 0x1d => visitor.visit_i64_atomic_store32(self.read_memarg(2)?), | 1412 | 1 | 0x1e => visitor.visit_i32_atomic_rmw_add(self.read_memarg(2)?), | 1413 | 4 | 0x1f => visitor.visit_i64_atomic_rmw_add(self.read_memarg(3)?), | 1414 | 294 | 0x20 => visitor.visit_i32_atomic_rmw8_add_u(self.read_memarg(0)?), | 1415 | 8 | 0x21 => visitor.visit_i32_atomic_rmw16_add_u(self.read_memarg(1)?), | 1416 | 2.87k | 0x22 => visitor.visit_i64_atomic_rmw8_add_u(self.read_memarg(0)?), | 1417 | 3 | 0x23 => visitor.visit_i64_atomic_rmw16_add_u(self.read_memarg(1)?), | 1418 | 11 | 0x24 => visitor.visit_i64_atomic_rmw32_add_u(self.read_memarg(2)?), | 1419 | 7 | 0x25 => visitor.visit_i32_atomic_rmw_sub(self.read_memarg(2)?), | 1420 | 4 | 0x26 => visitor.visit_i64_atomic_rmw_sub(self.read_memarg(3)?), | 1421 | 52 | 0x27 => visitor.visit_i32_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1422 | 4 | 0x28 => visitor.visit_i32_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1423 | 369 | 0x29 => visitor.visit_i64_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1424 | 4 | 0x2a => visitor.visit_i64_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1425 | 7 | 0x2b => visitor.visit_i64_atomic_rmw32_sub_u(self.read_memarg(2)?), | 1426 | 3 | 0x2c => visitor.visit_i32_atomic_rmw_and(self.read_memarg(2)?), | 1427 | 23 | 0x2d => visitor.visit_i64_atomic_rmw_and(self.read_memarg(3)?), | 1428 | 192 | 0x2e => visitor.visit_i32_atomic_rmw8_and_u(self.read_memarg(0)?), | 1429 | 5 | 0x2f => visitor.visit_i32_atomic_rmw16_and_u(self.read_memarg(1)?), | 1430 | 2.53k | 0x30 => visitor.visit_i64_atomic_rmw8_and_u(self.read_memarg(0)?), | 1431 | 6 | 0x31 => visitor.visit_i64_atomic_rmw16_and_u(self.read_memarg(1)?), | 1432 | 4 | 0x32 => visitor.visit_i64_atomic_rmw32_and_u(self.read_memarg(2)?), | 1433 | 7 | 0x33 => visitor.visit_i32_atomic_rmw_or(self.read_memarg(2)?), | 1434 | 4 | 0x34 => visitor.visit_i64_atomic_rmw_or(self.read_memarg(3)?), | 1435 | 1.50k | 0x35 => visitor.visit_i32_atomic_rmw8_or_u(self.read_memarg(0)?), | 1436 | 6 | 0x36 => visitor.visit_i32_atomic_rmw16_or_u(self.read_memarg(1)?), | 1437 | 7 | 0x37 => visitor.visit_i64_atomic_rmw8_or_u(self.read_memarg(0)?), | 1438 | 4 | 0x38 => visitor.visit_i64_atomic_rmw16_or_u(self.read_memarg(1)?), | 1439 | 4 | 0x39 => visitor.visit_i64_atomic_rmw32_or_u(self.read_memarg(2)?), | 1440 | 117 | 0x3a => visitor.visit_i32_atomic_rmw_xor(self.read_memarg(2)?), | 1441 | 8 | 0x3b => visitor.visit_i64_atomic_rmw_xor(self.read_memarg(3)?), | 1442 | 488 | 0x3c => visitor.visit_i32_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1443 | 4 | 0x3d => visitor.visit_i32_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1444 | 121 | 0x3e => visitor.visit_i64_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1445 | 16 | 0x3f => visitor.visit_i64_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1446 | 4 | 0x40 => visitor.visit_i64_atomic_rmw32_xor_u(self.read_memarg(2)?), | 1447 | 5 | 0x41 => visitor.visit_i32_atomic_rmw_xchg(self.read_memarg(2)?), | 1448 | 15 | 0x42 => visitor.visit_i64_atomic_rmw_xchg(self.read_memarg(3)?), | 1449 | 8 | 0x43 => visitor.visit_i32_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1450 | 5 | 0x44 => visitor.visit_i32_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1451 | 2 | 0x45 => visitor.visit_i64_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1452 | 2 | 0x46 => visitor.visit_i64_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1453 | 10 | 0x47 => visitor.visit_i64_atomic_rmw32_xchg_u(self.read_memarg(2)?), | 1454 | 10 | 0x48 => visitor.visit_i32_atomic_rmw_cmpxchg(self.read_memarg(2)?), | 1455 | 8 | 0x49 => visitor.visit_i64_atomic_rmw_cmpxchg(self.read_memarg(3)?), | 1456 | 453 | 0x4a => visitor.visit_i32_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1457 | 3 | 0x4b => visitor.visit_i32_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1458 | 14 | 0x4c => visitor.visit_i64_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1459 | 412 | 0x4d => visitor.visit_i64_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1460 | 1 | 0x4e => visitor.visit_i64_atomic_rmw32_cmpxchg_u(self.read_memarg(2)?), | 1461 | | | 1462 | 9 | _ => bail!(pos, "unknown 0xfe subopcode: 0x{code:x}"), | 1463 | | }) | 1464 | 21.9k | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<wasmparser::binary_reader::OperatorFactory> Line | Count | Source | 1379 | 283k | fn visit_0xfe_operator<T>( | 1380 | 283k | &mut self, | 1381 | 283k | pos: usize, | 1382 | 283k | visitor: &mut T, | 1383 | 283k | ) -> Result<<T as VisitOperator<'a>>::Output> | 1384 | 283k | where | 1385 | 283k | T: VisitOperator<'a>, | 1386 | 283k | { | 1387 | 283k | let code = self.read_var_u32()?; | 1388 | 283k | Ok(match code { | 1389 | 9.86k | 0x00 => visitor.visit_memory_atomic_notify(self.read_memarg(2)?), | 1390 | 82.5k | 0x01 => visitor.visit_memory_atomic_wait32(self.read_memarg(2)?), | 1391 | 3.66k | 0x02 => visitor.visit_memory_atomic_wait64(self.read_memarg(3)?), | 1392 | | 0x03 => { | 1393 | 1.33k | if self.read_u8()? != 0 { | 1394 | 1 | bail!(pos, "nonzero byte after `atomic.fence`"); | 1395 | 1.32k | } | 1396 | 1.32k | visitor.visit_atomic_fence() | 1397 | | } | 1398 | 780 | 0x10 => visitor.visit_i32_atomic_load(self.read_memarg(2)?), | 1399 | 424 | 0x11 => visitor.visit_i64_atomic_load(self.read_memarg(3)?), | 1400 | 1.00k | 0x12 => visitor.visit_i32_atomic_load8_u(self.read_memarg(0)?), | 1401 | 1.61k | 0x13 => visitor.visit_i32_atomic_load16_u(self.read_memarg(1)?), | 1402 | 2.21k | 0x14 => visitor.visit_i64_atomic_load8_u(self.read_memarg(0)?), | 1403 | 1.16k | 0x15 => visitor.visit_i64_atomic_load16_u(self.read_memarg(1)?), | 1404 | 2.62k | 0x16 => visitor.visit_i64_atomic_load32_u(self.read_memarg(2)?), | 1405 | 4.17k | 0x17 => visitor.visit_i32_atomic_store(self.read_memarg(2)?), | 1406 | 4.40k | 0x18 => visitor.visit_i64_atomic_store(self.read_memarg(3)?), | 1407 | 1.07k | 0x19 => visitor.visit_i32_atomic_store8(self.read_memarg(0)?), | 1408 | 1.02k | 0x1a => visitor.visit_i32_atomic_store16(self.read_memarg(1)?), | 1409 | 1.54k | 0x1b => visitor.visit_i64_atomic_store8(self.read_memarg(0)?), | 1410 | 1.87k | 0x1c => visitor.visit_i64_atomic_store16(self.read_memarg(1)?), | 1411 | 705 | 0x1d => visitor.visit_i64_atomic_store32(self.read_memarg(2)?), | 1412 | 481 | 0x1e => visitor.visit_i32_atomic_rmw_add(self.read_memarg(2)?), | 1413 | 38.8k | 0x1f => visitor.visit_i64_atomic_rmw_add(self.read_memarg(3)?), | 1414 | 777 | 0x20 => visitor.visit_i32_atomic_rmw8_add_u(self.read_memarg(0)?), | 1415 | 1.24k | 0x21 => visitor.visit_i32_atomic_rmw16_add_u(self.read_memarg(1)?), | 1416 | 967 | 0x22 => visitor.visit_i64_atomic_rmw8_add_u(self.read_memarg(0)?), | 1417 | 5.54k | 0x23 => visitor.visit_i64_atomic_rmw16_add_u(self.read_memarg(1)?), | 1418 | 1.24k | 0x24 => visitor.visit_i64_atomic_rmw32_add_u(self.read_memarg(2)?), | 1419 | 2.09k | 0x25 => visitor.visit_i32_atomic_rmw_sub(self.read_memarg(2)?), | 1420 | 451 | 0x26 => visitor.visit_i64_atomic_rmw_sub(self.read_memarg(3)?), | 1421 | 5.64k | 0x27 => visitor.visit_i32_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1422 | 609 | 0x28 => visitor.visit_i32_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1423 | 1.61k | 0x29 => visitor.visit_i64_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1424 | 6.44k | 0x2a => visitor.visit_i64_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1425 | 1.29k | 0x2b => visitor.visit_i64_atomic_rmw32_sub_u(self.read_memarg(2)?), | 1426 | 650 | 0x2c => visitor.visit_i32_atomic_rmw_and(self.read_memarg(2)?), | 1427 | 3.48k | 0x2d => visitor.visit_i64_atomic_rmw_and(self.read_memarg(3)?), | 1428 | 1.27k | 0x2e => visitor.visit_i32_atomic_rmw8_and_u(self.read_memarg(0)?), | 1429 | 1.50k | 0x2f => visitor.visit_i32_atomic_rmw16_and_u(self.read_memarg(1)?), | 1430 | 2.51k | 0x30 => visitor.visit_i64_atomic_rmw8_and_u(self.read_memarg(0)?), | 1431 | 1.22k | 0x31 => visitor.visit_i64_atomic_rmw16_and_u(self.read_memarg(1)?), | 1432 | 1.24k | 0x32 => visitor.visit_i64_atomic_rmw32_and_u(self.read_memarg(2)?), | 1433 | 3.64k | 0x33 => visitor.visit_i32_atomic_rmw_or(self.read_memarg(2)?), | 1434 | 1.58k | 0x34 => visitor.visit_i64_atomic_rmw_or(self.read_memarg(3)?), | 1435 | 1.72k | 0x35 => visitor.visit_i32_atomic_rmw8_or_u(self.read_memarg(0)?), | 1436 | 2.12k | 0x36 => visitor.visit_i32_atomic_rmw16_or_u(self.read_memarg(1)?), | 1437 | 1.45k | 0x37 => visitor.visit_i64_atomic_rmw8_or_u(self.read_memarg(0)?), | 1438 | 7.50k | 0x38 => visitor.visit_i64_atomic_rmw16_or_u(self.read_memarg(1)?), | 1439 | 10.0k | 0x39 => visitor.visit_i64_atomic_rmw32_or_u(self.read_memarg(2)?), | 1440 | 3.25k | 0x3a => visitor.visit_i32_atomic_rmw_xor(self.read_memarg(2)?), | 1441 | 1.20k | 0x3b => visitor.visit_i64_atomic_rmw_xor(self.read_memarg(3)?), | 1442 | 1.25k | 0x3c => visitor.visit_i32_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1443 | 4.78k | 0x3d => visitor.visit_i32_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1444 | 5.11k | 0x3e => visitor.visit_i64_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1445 | 14.7k | 0x3f => visitor.visit_i64_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1446 | 1.77k | 0x40 => visitor.visit_i64_atomic_rmw32_xor_u(self.read_memarg(2)?), | 1447 | 2.41k | 0x41 => visitor.visit_i32_atomic_rmw_xchg(self.read_memarg(2)?), | 1448 | 2.31k | 0x42 => visitor.visit_i64_atomic_rmw_xchg(self.read_memarg(3)?), | 1449 | 963 | 0x43 => visitor.visit_i32_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1450 | 957 | 0x44 => visitor.visit_i32_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1451 | 773 | 0x45 => visitor.visit_i64_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1452 | 4.53k | 0x46 => visitor.visit_i64_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1453 | 1.79k | 0x47 => visitor.visit_i64_atomic_rmw32_xchg_u(self.read_memarg(2)?), | 1454 | 2.56k | 0x48 => visitor.visit_i32_atomic_rmw_cmpxchg(self.read_memarg(2)?), | 1455 | 357 | 0x49 => visitor.visit_i64_atomic_rmw_cmpxchg(self.read_memarg(3)?), | 1456 | 773 | 0x4a => visitor.visit_i32_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1457 | 952 | 0x4b => visitor.visit_i32_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1458 | 668 | 0x4c => visitor.visit_i64_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1459 | 694 | 0x4d => visitor.visit_i64_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1460 | 2.10k | 0x4e => visitor.visit_i64_atomic_rmw32_cmpxchg_u(self.read_memarg(2)?), | 1461 | | | 1462 | 60 | _ => bail!(pos, "unknown 0xfe subopcode: 0x{code:x}"), | 1463 | | }) | 1464 | 283k | } |
<wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<<wasmparser::validator::core::ModuleState>::check_const_expr::VisitConstOperator> Line | Count | Source | 1379 | 84 | fn visit_0xfe_operator<T>( | 1380 | 84 | &mut self, | 1381 | 84 | pos: usize, | 1382 | 84 | visitor: &mut T, | 1383 | 84 | ) -> Result<<T as VisitOperator<'a>>::Output> | 1384 | 84 | where | 1385 | 84 | T: VisitOperator<'a>, | 1386 | 84 | { | 1387 | 84 | let code = self.read_var_u32()?; | 1388 | 84 | Ok(match code { | 1389 | 2 | 0x00 => visitor.visit_memory_atomic_notify(self.read_memarg(2)?), | 1390 | 3 | 0x01 => visitor.visit_memory_atomic_wait32(self.read_memarg(2)?), | 1391 | 0 | 0x02 => visitor.visit_memory_atomic_wait64(self.read_memarg(3)?), | 1392 | | 0x03 => { | 1393 | 2 | if self.read_u8()? != 0 { | 1394 | 0 | bail!(pos, "nonzero byte after `atomic.fence`"); | 1395 | 2 | } | 1396 | 2 | visitor.visit_atomic_fence() | 1397 | | } | 1398 | 1 | 0x10 => visitor.visit_i32_atomic_load(self.read_memarg(2)?), | 1399 | 1 | 0x11 => visitor.visit_i64_atomic_load(self.read_memarg(3)?), | 1400 | 1 | 0x12 => visitor.visit_i32_atomic_load8_u(self.read_memarg(0)?), | 1401 | 0 | 0x13 => visitor.visit_i32_atomic_load16_u(self.read_memarg(1)?), | 1402 | 1 | 0x14 => visitor.visit_i64_atomic_load8_u(self.read_memarg(0)?), | 1403 | 1 | 0x15 => visitor.visit_i64_atomic_load16_u(self.read_memarg(1)?), | 1404 | 0 | 0x16 => visitor.visit_i64_atomic_load32_u(self.read_memarg(2)?), | 1405 | 1 | 0x17 => visitor.visit_i32_atomic_store(self.read_memarg(2)?), | 1406 | 0 | 0x18 => visitor.visit_i64_atomic_store(self.read_memarg(3)?), | 1407 | 1 | 0x19 => visitor.visit_i32_atomic_store8(self.read_memarg(0)?), | 1408 | 1 | 0x1a => visitor.visit_i32_atomic_store16(self.read_memarg(1)?), | 1409 | 1 | 0x1b => visitor.visit_i64_atomic_store8(self.read_memarg(0)?), | 1410 | 1 | 0x1c => visitor.visit_i64_atomic_store16(self.read_memarg(1)?), | 1411 | 1 | 0x1d => visitor.visit_i64_atomic_store32(self.read_memarg(2)?), | 1412 | 0 | 0x1e => visitor.visit_i32_atomic_rmw_add(self.read_memarg(2)?), | 1413 | 0 | 0x1f => visitor.visit_i64_atomic_rmw_add(self.read_memarg(3)?), | 1414 | 2 | 0x20 => visitor.visit_i32_atomic_rmw8_add_u(self.read_memarg(0)?), | 1415 | 0 | 0x21 => visitor.visit_i32_atomic_rmw16_add_u(self.read_memarg(1)?), | 1416 | 2 | 0x22 => visitor.visit_i64_atomic_rmw8_add_u(self.read_memarg(0)?), | 1417 | 2 | 0x23 => visitor.visit_i64_atomic_rmw16_add_u(self.read_memarg(1)?), | 1418 | 0 | 0x24 => visitor.visit_i64_atomic_rmw32_add_u(self.read_memarg(2)?), | 1419 | 2 | 0x25 => visitor.visit_i32_atomic_rmw_sub(self.read_memarg(2)?), | 1420 | 1 | 0x26 => visitor.visit_i64_atomic_rmw_sub(self.read_memarg(3)?), | 1421 | 2 | 0x27 => visitor.visit_i32_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1422 | 0 | 0x28 => visitor.visit_i32_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1423 | 1 | 0x29 => visitor.visit_i64_atomic_rmw8_sub_u(self.read_memarg(0)?), | 1424 | 0 | 0x2a => visitor.visit_i64_atomic_rmw16_sub_u(self.read_memarg(1)?), | 1425 | 0 | 0x2b => visitor.visit_i64_atomic_rmw32_sub_u(self.read_memarg(2)?), | 1426 | 2 | 0x2c => visitor.visit_i32_atomic_rmw_and(self.read_memarg(2)?), | 1427 | 0 | 0x2d => visitor.visit_i64_atomic_rmw_and(self.read_memarg(3)?), | 1428 | 0 | 0x2e => visitor.visit_i32_atomic_rmw8_and_u(self.read_memarg(0)?), | 1429 | 2 | 0x2f => visitor.visit_i32_atomic_rmw16_and_u(self.read_memarg(1)?), | 1430 | 0 | 0x30 => visitor.visit_i64_atomic_rmw8_and_u(self.read_memarg(0)?), | 1431 | 10 | 0x31 => visitor.visit_i64_atomic_rmw16_and_u(self.read_memarg(1)?), | 1432 | 2 | 0x32 => visitor.visit_i64_atomic_rmw32_and_u(self.read_memarg(2)?), | 1433 | 2 | 0x33 => visitor.visit_i32_atomic_rmw_or(self.read_memarg(2)?), | 1434 | 7 | 0x34 => visitor.visit_i64_atomic_rmw_or(self.read_memarg(3)?), | 1435 | 1 | 0x35 => visitor.visit_i32_atomic_rmw8_or_u(self.read_memarg(0)?), | 1436 | 1 | 0x36 => visitor.visit_i32_atomic_rmw16_or_u(self.read_memarg(1)?), | 1437 | 1 | 0x37 => visitor.visit_i64_atomic_rmw8_or_u(self.read_memarg(0)?), | 1438 | 1 | 0x38 => visitor.visit_i64_atomic_rmw16_or_u(self.read_memarg(1)?), | 1439 | 2 | 0x39 => visitor.visit_i64_atomic_rmw32_or_u(self.read_memarg(2)?), | 1440 | 1 | 0x3a => visitor.visit_i32_atomic_rmw_xor(self.read_memarg(2)?), | 1441 | 0 | 0x3b => visitor.visit_i64_atomic_rmw_xor(self.read_memarg(3)?), | 1442 | 3 | 0x3c => visitor.visit_i32_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1443 | 0 | 0x3d => visitor.visit_i32_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1444 | 3 | 0x3e => visitor.visit_i64_atomic_rmw8_xor_u(self.read_memarg(0)?), | 1445 | 1 | 0x3f => visitor.visit_i64_atomic_rmw16_xor_u(self.read_memarg(1)?), | 1446 | 1 | 0x40 => visitor.visit_i64_atomic_rmw32_xor_u(self.read_memarg(2)?), | 1447 | 1 | 0x41 => visitor.visit_i32_atomic_rmw_xchg(self.read_memarg(2)?), | 1448 | 1 | 0x42 => visitor.visit_i64_atomic_rmw_xchg(self.read_memarg(3)?), | 1449 | 0 | 0x43 => visitor.visit_i32_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1450 | 0 | 0x44 => visitor.visit_i32_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1451 | 2 | 0x45 => visitor.visit_i64_atomic_rmw8_xchg_u(self.read_memarg(0)?), | 1452 | 1 | 0x46 => visitor.visit_i64_atomic_rmw16_xchg_u(self.read_memarg(1)?), | 1453 | 1 | 0x47 => visitor.visit_i64_atomic_rmw32_xchg_u(self.read_memarg(2)?), | 1454 | 2 | 0x48 => visitor.visit_i32_atomic_rmw_cmpxchg(self.read_memarg(2)?), | 1455 | 0 | 0x49 => visitor.visit_i64_atomic_rmw_cmpxchg(self.read_memarg(3)?), | 1456 | 2 | 0x4a => visitor.visit_i32_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1457 | 0 | 0x4b => visitor.visit_i32_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1458 | 1 | 0x4c => visitor.visit_i64_atomic_rmw8_cmpxchg_u(self.read_memarg(0)?), | 1459 | 2 | 0x4d => visitor.visit_i64_atomic_rmw16_cmpxchg_u(self.read_memarg(1)?), | 1460 | 1 | 0x4e => visitor.visit_i64_atomic_rmw32_cmpxchg_u(self.read_memarg(2)?), | 1461 | | | 1462 | 0 | _ => bail!(pos, "unknown 0xfe subopcode: 0x{code:x}"), | 1463 | | }) | 1464 | 84 | } |
Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<wit_component::gc::Encoder> Unexecuted instantiation: <wasmparser::binary_reader::BinaryReader>::visit_0xfe_operator::<wit_component::gc::Module> |
1465 | | |
1466 | | /// Reads the next available `Operator`. |
1467 | | /// |
1468 | | /// # Errors |
1469 | | /// |
1470 | | /// If `BinaryReader` has less bytes remaining than required to parse |
1471 | | /// the `Operator`. |
1472 | 89.7M | pub fn read_operator(&mut self) -> Result<Operator<'a>> { |
1473 | 89.7M | self.visit_operator(&mut OperatorFactory::new()) |
1474 | 89.7M | } |
1475 | | |
1476 | 1.47M | fn read_lane_index(&mut self, max: u8) -> Result<u8> { |
1477 | 1.47M | let index = self.read_u8()?; |
1478 | 1.47M | if index >= max { |
1479 | 396 | return Err(BinaryReaderError::new( |
1480 | 396 | "invalid lane index", |
1481 | 396 | self.original_position() - 1, |
1482 | 396 | )); |
1483 | 1.47M | } |
1484 | 1.47M | Ok(index) |
1485 | 1.47M | } |
1486 | | |
1487 | 9.32M | fn read_v128(&mut self) -> Result<V128> { |
1488 | 9.32M | let mut bytes = [0; 16]; |
1489 | 9.32M | bytes.clone_from_slice(self.read_bytes(16)?); |
1490 | 9.32M | Ok(V128(bytes)) |
1491 | 9.32M | } |
1492 | | |
1493 | 578k | pub(crate) fn read_header_version(&mut self) -> Result<u32> { |
1494 | 578k | let magic_number = self.read_bytes(4)?; |
1495 | 555k | if magic_number != WASM_MAGIC_NUMBER { |
1496 | 432 | return Err(BinaryReaderError::new( |
1497 | 432 | "magic header not detected: bad magic number", |
1498 | 432 | self.original_position() - 4, |
1499 | 432 | )); |
1500 | 555k | } |
1501 | 555k | self.read_u32() |
1502 | 578k | } |
1503 | | |
1504 | 33.5M | pub(crate) fn skip_const_expr(&mut self) -> Result<()> { |
1505 | | // TODO add skip_operator() method and/or validate ConstExpr operators. |
1506 | | loop { |
1507 | 82.0M | if let Operator::End = self.read_operator()? { |
1508 | 33.5M | return Ok(()); |
1509 | 48.4M | } |
1510 | | } |
1511 | 33.5M | } |
1512 | | } |
1513 | | |
1514 | | impl<'a> BrTable<'a> { |
1515 | | /// Returns the number of `br_table` entries, not including the default |
1516 | | /// label |
1517 | 0 | pub fn len(&self) -> u32 { |
1518 | 0 | self.cnt |
1519 | 0 | } |
1520 | | |
1521 | | /// Returns whether `BrTable` doesn't have any labels apart from the default one. |
1522 | 0 | pub fn is_empty(&self) -> bool { |
1523 | 0 | self.len() == 0 |
1524 | 0 | } |
1525 | | |
1526 | | /// Returns the default target of this `br_table` instruction. |
1527 | 130k | pub fn default(&self) -> u32 { |
1528 | 130k | self.default |
1529 | 130k | } |
1530 | | |
1531 | | /// Returns the list of targets that this `br_table` instruction will be |
1532 | | /// jumping to. |
1533 | | /// |
1534 | | /// This method will return an iterator which parses each target of this |
1535 | | /// `br_table` except the default target. The returned iterator will |
1536 | | /// yield `self.len()` elements. |
1537 | | /// |
1538 | | /// # Examples |
1539 | | /// |
1540 | | /// ```rust |
1541 | | /// let buf = [0x0e, 0x02, 0x01, 0x02, 0x00]; |
1542 | | /// let mut reader = wasmparser::BinaryReader::new(&buf); |
1543 | | /// let op = reader.read_operator().unwrap(); |
1544 | | /// if let wasmparser::Operator::BrTable { targets } = op { |
1545 | | /// let targets = targets.targets().collect::<Result<Vec<_>, _>>().unwrap(); |
1546 | | /// assert_eq!(targets, [1, 2]); |
1547 | | /// } |
1548 | | /// ``` |
1549 | 130k | pub fn targets(&self) -> BrTableTargets { |
1550 | 130k | BrTableTargets { |
1551 | 130k | reader: self.reader.clone(), |
1552 | 130k | remaining: self.cnt, |
1553 | 130k | } |
1554 | 130k | } |
1555 | | } |
1556 | | |
1557 | | /// An iterator over the targets of a [`BrTable`]. |
1558 | | /// |
1559 | | /// # Note |
1560 | | /// |
1561 | | /// This iterator parses each target of the underlying `br_table` |
1562 | | /// except for the default target. |
1563 | | /// The iterator will yield exactly as many targets as the `br_table` has. |
1564 | | pub struct BrTableTargets<'a> { |
1565 | | reader: crate::BinaryReader<'a>, |
1566 | | remaining: u32, |
1567 | | } |
1568 | | |
1569 | | impl<'a> Iterator for BrTableTargets<'a> { |
1570 | | type Item = Result<u32>; |
1571 | | |
1572 | 6.82k | fn size_hint(&self) -> (usize, Option<usize>) { |
1573 | 6.82k | let remaining = usize::try_from(self.remaining).unwrap_or_else(|error| { |
1574 | 0 | panic!("could not convert remaining `u32` into `usize`: {}", error) |
1575 | 6.82k | }); |
1576 | 6.82k | (remaining, Some(remaining)) |
1577 | 6.82k | } |
1578 | | |
1579 | 3.00M | fn next(&mut self) -> Option<Self::Item> { |
1580 | 3.00M | if self.remaining == 0 { |
1581 | 130k | if !self.reader.eof() { |
1582 | 0 | return Some(Err(BinaryReaderError::new( |
1583 | 0 | "trailing data in br_table", |
1584 | 0 | self.reader.original_position(), |
1585 | 0 | ))); |
1586 | 130k | } |
1587 | 130k | return None; |
1588 | 2.87M | } |
1589 | 2.87M | self.remaining -= 1; |
1590 | 2.87M | Some(self.reader.read_var_u32()) |
1591 | 3.00M | } |
1592 | | } |
1593 | | |
1594 | | impl fmt::Debug for BrTable<'_> { |
1595 | 0 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
1596 | 0 | let mut f = f.debug_struct("BrTable"); |
1597 | 0 | f.field("count", &self.cnt); |
1598 | 0 | f.field("default", &self.default); |
1599 | 0 | match self.targets().collect::<Result<Vec<_>>>() { |
1600 | 0 | Ok(targets) => { |
1601 | 0 | f.field("targets", &targets); |
1602 | 0 | } |
1603 | 0 | Err(_) => { |
1604 | 0 | f.field("reader", &self.reader); |
1605 | 0 | } |
1606 | | } |
1607 | 0 | f.finish() |
1608 | 0 | } |
1609 | | } |
1610 | | |
1611 | | /// A factory to construct [`Operator`] instances via the [`VisitOperator`] trait. |
1612 | | struct OperatorFactory<'a> { |
1613 | | marker: core::marker::PhantomData<fn() -> &'a ()>, |
1614 | | } |
1615 | | |
1616 | | impl<'a> OperatorFactory<'a> { |
1617 | | /// Creates a new [`OperatorFactory`]. |
1618 | 89.7M | fn new() -> Self { |
1619 | 89.7M | Self { |
1620 | 89.7M | marker: core::marker::PhantomData, |
1621 | 89.7M | } |
1622 | 89.7M | } |
1623 | | } |
1624 | | |
1625 | | macro_rules! define_visit_operator { |
1626 | | ($(@$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident)*) => { |
1627 | | $( |
1628 | 89.7M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { |
1629 | 89.7M | Operator::$op $({ $($arg),* })? |
1630 | 89.7M | } <wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_relaxed_swizzle Line | Count | Source | 1628 | 1.10k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.10k | Operator::$op $({ $($arg),* })? | 1630 | 1.10k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_convert_i32_u Line | Count | Source | 1628 | 23.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 23.9k | Operator::$op $({ $($arg),* })? | 1630 | 23.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_reinterpret_i32 Line | Count | Source | 1628 | 55.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 55.1k | Operator::$op $({ $($arg),* })? | 1630 | 55.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_mul Line | Count | Source | 1628 | 23.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 23.8k | Operator::$op $({ $($arg),* })? | 1630 | 23.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_br_on_non_null Line | Count | Source | 1628 | 1.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.62k | Operator::$op $({ $($arg),* })? | 1630 | 1.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_abs Line | Count | Source | 1628 | 24.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 24.9k | Operator::$op $({ $($arg),* })? | 1630 | 24.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extend_low_i32x4_u Line | Count | Source | 1628 | 20.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.8k | Operator::$op $({ $($arg),* })? | 1630 | 20.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_or Line | Count | Source | 1628 | 20.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.5k | Operator::$op $({ $($arg),* })? | 1630 | 20.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_eq Line | Count | Source | 1628 | 1.70k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.70k | Operator::$op $({ $($arg),* })? | 1630 | 1.70k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_or_u Line | Count | Source | 1628 | 1.72k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.72k | Operator::$op $({ $($arg),* })? | 1630 | 1.72k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_xor Line | Count | Source | 1628 | 1.20k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.20k | Operator::$op $({ $($arg),* })? | 1630 | 1.20k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_cmpxchg_u Line | Count | Source | 1628 | 691 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 691 | Operator::$op $({ $($arg),* })? | 1630 | 691 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load16x4_u Line | Count | Source | 1628 | 4.43k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.43k | Operator::$op $({ $($arg),* })? | 1630 | 4.43k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_copy Line | Count | Source | 1628 | 6.19k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.19k | Operator::$op $({ $($arg),* })? | 1630 | 6.19k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_shr_u Line | Count | Source | 1628 | 8.39k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.39k | Operator::$op $({ $($arg),* })? | 1630 | 8.39k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_floor Line | Count | Source | 1628 | 14.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.7k | Operator::$op $({ $($arg),* })? | 1630 | 14.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_size Line | Count | Source | 1628 | 45.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 45.9k | Operator::$op $({ $($arg),* })? | 1630 | 45.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_floor Line | Count | Source | 1628 | 54.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 54.2k | Operator::$op $({ $($arg),* })? | 1630 | 54.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extend_low_i8x16_s Line | Count | Source | 1628 | 17.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.7k | Operator::$op $({ $($arg),* })? | 1630 | 17.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_lt_u Line | Count | Source | 1628 | 29.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 29.6k | Operator::$op $({ $($arg),* })? | 1630 | 29.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extadd_pairwise_i16x8_u Line | Count | Source | 1628 | 19.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.7k | Operator::$op $({ $($arg),* })? | 1630 | 19.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_gt_s Line | Count | Source | 1628 | 2.54k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.54k | Operator::$op $({ $($arg),* })? | 1630 | 2.54k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load16_splat Line | Count | Source | 1628 | 2.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.76k | Operator::$op $({ $($arg),* })? | 1630 | 2.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_copy Line | Count | Source | 1628 | 9.95k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.95k | Operator::$op $({ $($arg),* })? | 1630 | 9.95k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_shr_s Line | Count | Source | 1628 | 1.66k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.66k | Operator::$op $({ $($arg),* })? | 1630 | 1.66k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_store32 Line | Count | Source | 1628 | 704 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 704 | Operator::$op $({ $($arg),* })? | 1630 | 704 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_add_u Line | Count | Source | 1628 | 5.54k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.54k | Operator::$op $({ $($arg),* })? | 1630 | 5.54k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_sqrt Line | Count | Source | 1628 | 26.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 26.7k | Operator::$op $({ $($arg),* })? | 1630 | 26.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_convert_i32x4_u Line | Count | Source | 1628 | 9.89k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.89k | Operator::$op $({ $($arg),* })? | 1630 | 9.89k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_shr_s Line | Count | Source | 1628 | 7.25k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.25k | Operator::$op $({ $($arg),* })? | 1630 | 7.25k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_ne Line | Count | Source | 1628 | 1.85k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.85k | Operator::$op $({ $($arg),* })? | 1630 | 1.85k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_global_set Line | Count | Source | 1628 | 16.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.2k | Operator::$op $({ $($arg),* })? | 1630 | 16.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_add_sat_u Line | Count | Source | 1628 | 1.33k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.33k | Operator::$op $({ $($arg),* })? | 1630 | 1.33k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_trunc_f64x2_s_zero Line | Count | Source | 1628 | 10.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.6k | Operator::$op $({ $($arg),* })? | 1630 | 10.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_promote_f32 Line | Count | Source | 1628 | 11.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.7k | Operator::$op $({ $($arg),* })? | 1630 | 11.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_eq Line | Count | Source | 1628 | 66.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 66.6k | Operator::$op $({ $($arg),* })? | 1630 | 66.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_bitmask Line | Count | Source | 1628 | 5.13k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.13k | Operator::$op $({ $($arg),* })? | 1630 | 5.13k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_nearest Line | Count | Source | 1628 | 10.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.0k | Operator::$op $({ $($arg),* })? | 1630 | 10.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_trunc_f32x4_u Line | Count | Source | 1628 | 6.67k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.67k | Operator::$op $({ $($arg),* })? | 1630 | 6.67k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_return Line | Count | Source | 1628 | 12.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.8k | Operator::$op $({ $($arg),* })? | 1630 | 12.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_replace_lane Line | Count | Source | 1628 | 3.10k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.10k | Operator::$op $({ $($arg),* })? | 1630 | 3.10k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_extend_i32_u Line | Count | Source | 1628 | 16.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.6k | Operator::$op $({ $($arg),* })? | 1630 | 16.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_eq Line | Count | Source | 1628 | 74.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 74.3k | Operator::$op $({ $($arg),* })? | 1630 | 74.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_eq Line | Count | Source | 1628 | 117k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 117k | Operator::$op $({ $($arg),* })? | 1630 | 117k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_sub Line | Count | Source | 1628 | 1.91k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.91k | Operator::$op $({ $($arg),* })? | 1630 | 1.91k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_store64_lane Line | Count | Source | 1628 | 4.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.30k | Operator::$op $({ $($arg),* })? | 1630 | 4.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_splat Line | Count | Source | 1628 | 6.48k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.48k | Operator::$op $({ $($arg),* })? | 1630 | 6.48k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_sub_u Line | Count | Source | 1628 | 6.44k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.44k | Operator::$op $({ $($arg),* })? | 1630 | 6.44k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_and_u Line | Count | Source | 1628 | 2.51k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.51k | Operator::$op $({ $($arg),* })? | 1630 | 2.51k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_xchg Line | Count | Source | 1628 | 2.41k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.41k | Operator::$op $({ $($arg),* })? | 1630 | 2.41k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_sub Line | Count | Source | 1628 | 7.47k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.47k | Operator::$op $({ $($arg),* })? | 1630 | 7.47k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_load16_s Line | Count | Source | 1628 | 28.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.9k | Operator::$op $({ $($arg),* })? | 1630 | 28.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load32_s Line | Count | Source | 1628 | 31.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 31.4k | Operator::$op $({ $($arg),* })? | 1630 | 31.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_max_u Line | Count | Source | 1628 | 1.56k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.56k | Operator::$op $({ $($arg),* })? | 1630 | 1.56k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_pmin Line | Count | Source | 1628 | 2.48k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.48k | Operator::$op $({ $($arg),* })? | 1630 | 2.48k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_sub_sat_u Line | Count | Source | 1628 | 2.35k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.35k | Operator::$op $({ $($arg),* })? | 1630 | 2.35k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_or Line | Count | Source | 1628 | 1.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.58k | Operator::$op $({ $($arg),* })? | 1630 | 1.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_cmpxchg_u Line | Count | Source | 1628 | 666 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 666 | Operator::$op $({ $($arg),* })? | 1630 | 666 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_sat_f64_u Line | Count | Source | 1628 | 15.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.2k | Operator::$op $({ $($arg),* })? | 1630 | 15.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extmul_low_i16x8_u Line | Count | Source | 1628 | 1.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.22k | Operator::$op $({ $($arg),* })? | 1630 | 1.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_sqrt Line | Count | Source | 1628 | 11.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.4k | Operator::$op $({ $($arg),* })? | 1630 | 11.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_le_u Line | Count | Source | 1628 | 33.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 33.2k | Operator::$op $({ $($arg),* })? | 1630 | 33.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_le_s Line | Count | Source | 1628 | 1.97k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.97k | Operator::$op $({ $($arg),* })? | 1630 | 1.97k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_br Line | Count | Source | 1628 | 311k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 311k | Operator::$op $({ $($arg),* })? | 1630 | 311k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_return_call Line | Count | Source | 1628 | 18.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 18.1k | Operator::$op $({ $($arg),* })? | 1630 | 18.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_relaxed_min Line | Count | Source | 1628 | 950 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 950 | Operator::$op $({ $($arg),* })? | 1630 | 950 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_store16 Line | Count | Source | 1628 | 1.87k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.87k | Operator::$op $({ $($arg),* })? | 1630 | 1.87k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_copysign Line | Count | Source | 1628 | 29.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 29.2k | Operator::$op $({ $($arg),* })? | 1630 | 29.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_narrow_i32x4_s Line | Count | Source | 1628 | 2.87k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.87k | Operator::$op $({ $($arg),* })? | 1630 | 2.87k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_convert_i32x4_s Line | Count | Source | 1628 | 15.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.5k | Operator::$op $({ $($arg),* })? | 1630 | 15.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_f64_s Line | Count | Source | 1628 | 11.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.1k | Operator::$op $({ $($arg),* })? | 1630 | 11.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_demote_f64 Line | Count | Source | 1628 | 15.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.2k | Operator::$op $({ $($arg),* })? | 1630 | 15.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_drop Line | Count | Source | 1628 | 1.27M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.27M | Operator::$op $({ $($arg),* })? | 1630 | 1.27M | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_init Line | Count | Source | 1628 | 6.56k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.56k | Operator::$op $({ $($arg),* })? | 1630 | 6.56k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_add Line | Count | Source | 1628 | 1.10k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.10k | Operator::$op $({ $($arg),* })? | 1630 | 1.10k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_max Line | Count | Source | 1628 | 15.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.1k | Operator::$op $({ $($arg),* })? | 1630 | 15.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_and Line | Count | Source | 1628 | 3.48k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.48k | Operator::$op $({ $($arg),* })? | 1630 | 3.48k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_convert_i64_u Line | Count | Source | 1628 | 336k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 336k | Operator::$op $({ $($arg),* })? | 1630 | 336k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_ctz Line | Count | Source | 1628 | 43.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 43.3k | Operator::$op $({ $($arg),* })? | 1630 | 43.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_ge_s Line | Count | Source | 1628 | 3.20k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.20k | Operator::$op $({ $($arg),* })? | 1630 | 3.20k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_div_u Line | Count | Source | 1628 | 16.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.8k | Operator::$op $({ $($arg),* })? | 1630 | 16.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_shuffle Line | Count | Source | 1628 | 1.54k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.54k | Operator::$op $({ $($arg),* })? | 1630 | 1.54k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_sub Line | Count | Source | 1628 | 10.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.1k | Operator::$op $({ $($arg),* })? | 1630 | 10.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_trunc_sat_f64x2_u_zero Line | Count | Source | 1628 | 5.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.58k | Operator::$op $({ $($arg),* })? | 1630 | 5.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extmul_low_i8x16_s Line | Count | Source | 1628 | 3.33k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.33k | Operator::$op $({ $($arg),* })? | 1630 | 3.33k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_abs Line | Count | Source | 1628 | 8.66k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.66k | Operator::$op $({ $($arg),* })? | 1630 | 8.66k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_clz Line | Count | Source | 1628 | 67.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 67.5k | Operator::$op $({ $($arg),* })? | 1630 | 67.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_sat_f64_s Line | Count | Source | 1628 | 22.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 22.2k | Operator::$op $({ $($arg),* })? | 1630 | 22.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_neg Line | Count | Source | 1628 | 25.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 25.5k | Operator::$op $({ $($arg),* })? | 1630 | 25.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_xor Line | Count | Source | 1628 | 3.74k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.74k | Operator::$op $({ $($arg),* })? | 1630 | 3.74k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_replace_lane Line | Count | Source | 1628 | 5.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.60k | Operator::$op $({ $($arg),* })? | 1630 | 5.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extract_lane Line | Count | Source | 1628 | 8.06k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.06k | Operator::$op $({ $($arg),* })? | 1630 | 8.06k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_add Line | Count | Source | 1628 | 480 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 480 | Operator::$op $({ $($arg),* })? | 1630 | 480 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_or_u Line | Count | Source | 1628 | 2.12k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.12k | Operator::$op $({ $($arg),* })? | 1630 | 2.12k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_relaxed_dot_i8x16_i7x16_s Line | Count | Source | 1628 | 1.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.60k | Operator::$op $({ $($arg),* })? | 1630 | 1.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extend_high_i32x4_s Line | Count | Source | 1628 | 7.79k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.79k | Operator::$op $({ $($arg),* })? | 1630 | 7.79k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_neg Line | Count | Source | 1628 | 14.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.1k | Operator::$op $({ $($arg),* })? | 1630 | 14.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_shl Line | Count | Source | 1628 | 2.04k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.04k | Operator::$op $({ $($arg),* })? | 1630 | 2.04k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_store8 Line | Count | Source | 1628 | 9.04k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.04k | Operator::$op $({ $($arg),* })? | 1630 | 9.04k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_q15mulr_sat_s Line | Count | Source | 1628 | 2.89k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.89k | Operator::$op $({ $($arg),* })? | 1630 | 2.89k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extend_high_i8x16_s Line | Count | Source | 1628 | 11.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.6k | Operator::$op $({ $($arg),* })? | 1630 | 11.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_gt_s Line | Count | Source | 1628 | 9.27k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.27k | Operator::$op $({ $($arg),* })? | 1630 | 9.27k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_ref_as_non_null Line | Count | Source | 1628 | 1.31k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.31k | Operator::$op $({ $($arg),* })? | 1630 | 1.31k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load32_splat Line | Count | Source | 1628 | 6.26k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.26k | Operator::$op $({ $($arg),* })? | 1630 | 6.26k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_fill Line | Count | Source | 1628 | 1.72k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.72k | Operator::$op $({ $($arg),* })? | 1630 | 1.72k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_div Line | Count | Source | 1628 | 1.67k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.67k | Operator::$op $({ $($arg),* })? | 1630 | 1.67k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_ref_null Line | Count | Source | 1628 | 32.1M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 32.1M | Operator::$op $({ $($arg),* })? | 1630 | 32.1M | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_ge_s Line | Count | Source | 1628 | 35.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 35.5k | Operator::$op $({ $($arg),* })? | 1630 | 35.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_lt_s Line | Count | Source | 1628 | 1.15k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.15k | Operator::$op $({ $($arg),* })? | 1630 | 1.15k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_lt Line | Count | Source | 1628 | 2.38k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.38k | Operator::$op $({ $($arg),* })? | 1630 | 2.38k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load8x8_u Line | Count | Source | 1628 | 16.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.8k | Operator::$op $({ $($arg),* })? | 1630 | 16.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_extract_lane_u Line | Count | Source | 1628 | 8.90k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.90k | Operator::$op $({ $($arg),* })? | 1630 | 8.90k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_ceil Line | Count | Source | 1628 | 14.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.8k | Operator::$op $({ $($arg),* })? | 1630 | 14.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_sub_u Line | Count | Source | 1628 | 608 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 608 | Operator::$op $({ $($arg),* })? | 1630 | 608 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_min Line | Count | Source | 1628 | 6.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.61k | Operator::$op $({ $($arg),* })? | 1630 | 6.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_demote_f64x2_zero Line | Count | Source | 1628 | 14.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.5k | Operator::$op $({ $($arg),* })? | 1630 | 14.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_trunc_f64x2_u_zero Line | Count | Source | 1628 | 6.85k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.85k | Operator::$op $({ $($arg),* })? | 1630 | 6.85k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_end Line | Count | Source | 1628 | 34.0M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 34.0M | Operator::$op $({ $($arg),* })? | 1630 | 34.0M | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_store Line | Count | Source | 1628 | 8.09k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.09k | Operator::$op $({ $($arg),* })? | 1630 | 8.09k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_replace_lane Line | Count | Source | 1628 | 7.21k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.21k | Operator::$op $({ $($arg),* })? | 1630 | 7.21k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_replace_lane Line | Count | Source | 1628 | 37.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 37.6k | Operator::$op $({ $($arg),* })? | 1630 | 37.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_pmin Line | Count | Source | 1628 | 5.67k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.67k | Operator::$op $({ $($arg),* })? | 1630 | 5.67k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_lt Line | Count | Source | 1628 | 36.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 36.5k | Operator::$op $({ $($arg),* })? | 1630 | 36.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_shl Line | Count | Source | 1628 | 1.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.58k | Operator::$op $({ $($arg),* })? | 1630 | 1.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_min Line | Count | Source | 1628 | 3.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.76k | Operator::$op $({ $($arg),* })? | 1630 | 3.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_mul Line | Count | Source | 1628 | 1.99k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.99k | Operator::$op $({ $($arg),* })? | 1630 | 1.99k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_min_s Line | Count | Source | 1628 | 3.39k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.39k | Operator::$op $({ $($arg),* })? | 1630 | 3.39k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extend_low_i16x8_u Line | Count | Source | 1628 | 9.13k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.13k | Operator::$op $({ $($arg),* })? | 1630 | 9.13k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load32_lane Line | Count | Source | 1628 | 3.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.58k | Operator::$op $({ $($arg),* })? | 1630 | 3.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_eqz Line | Count | Source | 1628 | 163k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 163k | Operator::$op $({ $($arg),* })? | 1630 | 163k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_ge Line | Count | Source | 1628 | 21.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 21.6k | Operator::$op $({ $($arg),* })? | 1630 | 21.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_ge Line | Count | Source | 1628 | 12.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.2k | Operator::$op $({ $($arg),* })? | 1630 | 12.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_max_u Line | Count | Source | 1628 | 866 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 866 | Operator::$op $({ $($arg),* })? | 1630 | 866 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_gt Line | Count | Source | 1628 | 5.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.61k | Operator::$op $({ $($arg),* })? | 1630 | 5.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_or Line | Count | Source | 1628 | 2.41k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.41k | Operator::$op $({ $($arg),* })? | 1630 | 2.41k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_load16_u Line | Count | Source | 1628 | 14.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.4k | Operator::$op $({ $($arg),* })? | 1630 | 14.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_and_u Line | Count | Source | 1628 | 1.49k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.49k | Operator::$op $({ $($arg),* })? | 1630 | 1.49k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_f64_u Line | Count | Source | 1628 | 20.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.7k | Operator::$op $({ $($arg),* })? | 1630 | 20.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_laneselect Line | Count | Source | 1628 | 2.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.60k | Operator::$op $({ $($arg),* })? | 1630 | 2.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_extend16_s Line | Count | Source | 1628 | 20.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.9k | Operator::$op $({ $($arg),* })? | 1630 | 20.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_sat_f32_s Line | Count | Source | 1628 | 6.83k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.83k | Operator::$op $({ $($arg),* })? | 1630 | 6.83k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_rotl Line | Count | Source | 1628 | 6.29k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.29k | Operator::$op $({ $($arg),* })? | 1630 | 6.29k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load16_u Line | Count | Source | 1628 | 19.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.8k | Operator::$op $({ $($arg),* })? | 1630 | 19.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_store Line | Count | Source | 1628 | 3.88k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.88k | Operator::$op $({ $($arg),* })? | 1630 | 3.88k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_neg Line | Count | Source | 1628 | 7.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.61k | Operator::$op $({ $($arg),* })? | 1630 | 7.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_splat Line | Count | Source | 1628 | 8.55k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.55k | Operator::$op $({ $($arg),* })? | 1630 | 8.55k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_ge_s Line | Count | Source | 1628 | 29.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 29.6k | Operator::$op $({ $($arg),* })? | 1630 | 29.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_ne Line | Count | Source | 1628 | 3.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.60k | Operator::$op $({ $($arg),* })? | 1630 | 3.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_le_u Line | Count | Source | 1628 | 1.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.58k | Operator::$op $({ $($arg),* })? | 1630 | 1.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_xchg_u Line | Count | Source | 1628 | 4.53k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.53k | Operator::$op $({ $($arg),* })? | 1630 | 4.53k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_init Line | Count | Source | 1628 | 20.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.4k | Operator::$op $({ $($arg),* })? | 1630 | 20.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_popcnt Line | Count | Source | 1628 | 46.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 46.8k | Operator::$op $({ $($arg),* })? | 1630 | 46.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_nearest Line | Count | Source | 1628 | 5.50k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.50k | Operator::$op $({ $($arg),* })? | 1630 | 5.50k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_sub Line | Count | Source | 1628 | 19.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.4k | Operator::$op $({ $($arg),* })? | 1630 | 19.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_abs Line | Count | Source | 1628 | 58.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 58.7k | Operator::$op $({ $($arg),* })? | 1630 | 58.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_ne Line | Count | Source | 1628 | 16.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.4k | Operator::$op $({ $($arg),* })? | 1630 | 16.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_max Line | Count | Source | 1628 | 2.57k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.57k | Operator::$op $({ $($arg),* })? | 1630 | 2.57k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_sub_sat_s Line | Count | Source | 1628 | 3.79k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.79k | Operator::$op $({ $($arg),* })? | 1630 | 3.79k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_ne Line | Count | Source | 1628 | 2.55k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.55k | Operator::$op $({ $($arg),* })? | 1630 | 2.55k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_cmpxchg_u Line | Count | Source | 1628 | 770 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 770 | Operator::$op $({ $($arg),* })? | 1630 | 770 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_select Line | Count | Source | 1628 | 140k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 140k | Operator::$op $({ $($arg),* })? | 1630 | 140k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_store16_lane Line | Count | Source | 1628 | 3.33k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.33k | Operator::$op $({ $($arg),* })? | 1630 | 3.33k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_extract_lane_s Line | Count | Source | 1628 | 25.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 25.2k | Operator::$op $({ $($arg),* })? | 1630 | 25.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_trunc Line | Count | Source | 1628 | 8.40k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.40k | Operator::$op $({ $($arg),* })? | 1630 | 8.40k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extmul_low_i8x16_u Line | Count | Source | 1628 | 1.35k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.35k | Operator::$op $({ $($arg),* })? | 1630 | 1.35k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_lt Line | Count | Source | 1628 | 14.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.8k | Operator::$op $({ $($arg),* })? | 1630 | 14.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_popcnt Line | Count | Source | 1628 | 40.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 40.4k | Operator::$op $({ $($arg),* })? | 1630 | 40.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_cmpxchg Line | Count | Source | 1628 | 356 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 356 | Operator::$op $({ $($arg),* })? | 1630 | 356 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extmul_high_i16x8_s Line | Count | Source | 1628 | 1.70k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.70k | Operator::$op $({ $($arg),* })? | 1630 | 1.70k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_not Line | Count | Source | 1628 | 7.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.59k | Operator::$op $({ $($arg),* })? | 1630 | 7.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load16_s Line | Count | Source | 1628 | 101k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 101k | Operator::$op $({ $($arg),* })? | 1630 | 101k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_max Line | Count | Source | 1628 | 1.37k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.37k | Operator::$op $({ $($arg),* })? | 1630 | 1.37k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_and_u Line | Count | Source | 1628 | 1.23k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.23k | Operator::$op $({ $($arg),* })? | 1630 | 1.23k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_or_u Line | Count | Source | 1628 | 7.49k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.49k | Operator::$op $({ $($arg),* })? | 1630 | 7.49k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extmul_high_i8x16_s Line | Count | Source | 1628 | 1.32k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.32k | Operator::$op $({ $($arg),* })? | 1630 | 1.32k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_relaxed_max Line | Count | Source | 1628 | 3.39k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.39k | Operator::$op $({ $($arg),* })? | 1630 | 3.39k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_xor Line | Count | Source | 1628 | 3.69k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.69k | Operator::$op $({ $($arg),* })? | 1630 | 3.69k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_store Line | Count | Source | 1628 | 24.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 24.2k | Operator::$op $({ $($arg),* })? | 1630 | 24.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_store8 Line | Count | Source | 1628 | 3.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.62k | Operator::$op $({ $($arg),* })? | 1630 | 3.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_store8 Line | Count | Source | 1628 | 1.07k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.07k | Operator::$op $({ $($arg),* })? | 1630 | 1.07k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_bitmask Line | Count | Source | 1628 | 6.45k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.45k | Operator::$op $({ $($arg),* })? | 1630 | 6.45k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_eq Line | Count | Source | 1628 | 7.04k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.04k | Operator::$op $({ $($arg),* })? | 1630 | 7.04k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_pmax Line | Count | Source | 1628 | 2.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.62k | Operator::$op $({ $($arg),* })? | 1630 | 2.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_fill Line | Count | Source | 1628 | 17.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.3k | Operator::$op $({ $($arg),* })? | 1630 | 17.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_set Line | Count | Source | 1628 | 10.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.1k | Operator::$op $({ $($arg),* })? | 1630 | 10.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_popcnt Line | Count | Source | 1628 | 16.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.9k | Operator::$op $({ $($arg),* })? | 1630 | 16.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_add_u Line | Count | Source | 1628 | 1.24k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.24k | Operator::$op $({ $($arg),* })? | 1630 | 1.24k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_copysign Line | Count | Source | 1628 | 13.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.4k | Operator::$op $({ $($arg),* })? | 1630 | 13.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_convert_i32_s Line | Count | Source | 1628 | 34.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 34.5k | Operator::$op $({ $($arg),* })? | 1630 | 34.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_relaxed_q15mulr_s Line | Count | Source | 1628 | 2.40k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.40k | Operator::$op $({ $($arg),* })? | 1630 | 2.40k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_br_on_null Line | Count | Source | 1628 | 669 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 669 | Operator::$op $({ $($arg),* })? | 1630 | 669 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extmul_high_i16x8_u Line | Count | Source | 1628 | 1.34k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.34k | Operator::$op $({ $($arg),* })? | 1630 | 1.34k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_load Line | Count | Source | 1628 | 28.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.6k | Operator::$op $({ $($arg),* })? | 1630 | 28.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_neg Line | Count | Source | 1628 | 7.27k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.27k | Operator::$op $({ $($arg),* })? | 1630 | 7.27k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_replace_lane Line | Count | Source | 1628 | 7.57k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.57k | Operator::$op $({ $($arg),* })? | 1630 | 7.57k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_shr_u Line | Count | Source | 1628 | 2.96k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.96k | Operator::$op $({ $($arg),* })? | 1630 | 2.96k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_ge_u Line | Count | Source | 1628 | 8.14k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.14k | Operator::$op $({ $($arg),* })? | 1630 | 8.14k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_extend8_s Line | Count | Source | 1628 | 31.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 31.7k | Operator::$op $({ $($arg),* })? | 1630 | 31.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_shr_u Line | Count | Source | 1628 | 1.79k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.79k | Operator::$op $({ $($arg),* })? | 1630 | 1.79k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_mul Line | Count | Source | 1628 | 2.11k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.11k | Operator::$op $({ $($arg),* })? | 1630 | 2.11k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_ceil Line | Count | Source | 1628 | 10.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.6k | Operator::$op $({ $($arg),* })? | 1630 | 10.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_narrow_i32x4_u Line | Count | Source | 1628 | 1.53k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.53k | Operator::$op $({ $($arg),* })? | 1630 | 1.53k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extadd_pairwise_i16x8_s Line | Count | Source | 1628 | 87.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 87.1k | Operator::$op $({ $($arg),* })? | 1630 | 87.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_xor_u Line | Count | Source | 1628 | 14.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.7k | Operator::$op $({ $($arg),* })? | 1630 | 14.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extract_lane Line | Count | Source | 1628 | 7.05k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.05k | Operator::$op $({ $($arg),* })? | 1630 | 7.05k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_add Line | Count | Source | 1628 | 10.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.4k | Operator::$op $({ $($arg),* })? | 1630 | 10.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_const Line | Count | Source | 1628 | 448k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 448k | Operator::$op $({ $($arg),* })? | 1630 | 448k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_sub Line | Count | Source | 1628 | 1.31k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.31k | Operator::$op $({ $($arg),* })? | 1630 | 1.31k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_le_u Line | Count | Source | 1628 | 41.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 41.6k | Operator::$op $({ $($arg),* })? | 1630 | 41.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_gt Line | Count | Source | 1628 | 42.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 42.5k | Operator::$op $({ $($arg),* })? | 1630 | 42.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_rem_s Line | Count | Source | 1628 | 26.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 26.1k | Operator::$op $({ $($arg),* })? | 1630 | 26.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_narrow_i16x8_s Line | Count | Source | 1628 | 37.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 37.0k | Operator::$op $({ $($arg),* })? | 1630 | 37.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_atomic_fence Line | Count | Source | 1628 | 1.32k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.32k | Operator::$op $({ $($arg),* })? | 1630 | 1.32k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_sub_u Line | Count | Source | 1628 | 5.64k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.64k | Operator::$op $({ $($arg),* })? | 1630 | 5.64k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_div Line | Count | Source | 1628 | 4.06k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.06k | Operator::$op $({ $($arg),* })? | 1630 | 4.06k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_xor_u Line | Count | Source | 1628 | 5.11k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.11k | Operator::$op $({ $($arg),* })? | 1630 | 5.11k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_ne Line | Count | Source | 1628 | 14.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.0k | Operator::$op $({ $($arg),* })? | 1630 | 14.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_throw Line | Count | Source | 1628 | 1.86M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.86M | Operator::$op $({ $($arg),* })? | 1630 | 1.86M | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_ctz Line | Count | Source | 1628 | 48.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 48.5k | Operator::$op $({ $($arg),* })? | 1630 | 48.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_load Line | Count | Source | 1628 | 16.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.0k | Operator::$op $({ $($arg),* })? | 1630 | 16.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load8_u Line | Count | Source | 1628 | 58.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 58.2k | Operator::$op $({ $($arg),* })? | 1630 | 58.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_atomic_wait64 Line | Count | Source | 1628 | 3.66k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.66k | Operator::$op $({ $($arg),* })? | 1630 | 3.66k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_min_s Line | Count | Source | 1628 | 2.03k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.03k | Operator::$op $({ $($arg),* })? | 1630 | 2.03k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_extract_lane Line | Count | Source | 1628 | 11.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.1k | Operator::$op $({ $($arg),* })? | 1630 | 11.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_lt_s Line | Count | Source | 1628 | 2.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.22k | Operator::$op $({ $($arg),* })? | 1630 | 2.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_sat_f32_s Line | Count | Source | 1628 | 33.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 33.6k | Operator::$op $({ $($arg),* })? | 1630 | 33.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_xor Line | Count | Source | 1628 | 59.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 59.0k | Operator::$op $({ $($arg),* })? | 1630 | 59.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_le Line | Count | Source | 1628 | 1.34k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.34k | Operator::$op $({ $($arg),* })? | 1630 | 1.34k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load64_splat Line | Count | Source | 1628 | 2.16k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.16k | Operator::$op $({ $($arg),* })? | 1630 | 2.16k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_gt_s Line | Count | Source | 1628 | 79.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 79.6k | Operator::$op $({ $($arg),* })? | 1630 | 79.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_extend_i32_s Line | Count | Source | 1628 | 17.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.4k | Operator::$op $({ $($arg),* })? | 1630 | 17.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_lt_u Line | Count | Source | 1628 | 6.17k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.17k | Operator::$op $({ $($arg),* })? | 1630 | 6.17k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_relaxed_nmadd Line | Count | Source | 1628 | 2.71k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.71k | Operator::$op $({ $($arg),* })? | 1630 | 2.71k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_relaxed_laneselect Line | Count | Source | 1628 | 935 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 935 | Operator::$op $({ $($arg),* })? | 1630 | 935 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_add Line | Count | Source | 1628 | 4.33k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.33k | Operator::$op $({ $($arg),* })? | 1630 | 4.33k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_div Line | Count | Source | 1628 | 14.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.5k | Operator::$op $({ $($arg),* })? | 1630 | 14.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_replace_lane Line | Count | Source | 1628 | 1.68k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.68k | Operator::$op $({ $($arg),* })? | 1630 | 1.68k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_splat Line | Count | Source | 1628 | 9.12k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.12k | Operator::$op $({ $($arg),* })? | 1630 | 9.12k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_sub_u Line | Count | Source | 1628 | 1.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.61k | Operator::$op $({ $($arg),* })? | 1630 | 1.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_return_call_indirect Line | Count | Source | 1628 | 9.46k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.46k | Operator::$op $({ $($arg),* })? | 1630 | 9.46k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_relaxed_max Line | Count | Source | 1628 | 2.83k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.83k | Operator::$op $({ $($arg),* })? | 1630 | 2.83k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_data_drop Line | Count | Source | 1628 | 95.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 95.4k | Operator::$op $({ $($arg),* })? | 1630 | 95.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_add Line | Count | Source | 1628 | 14.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.0k | Operator::$op $({ $($arg),* })? | 1630 | 14.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extmul_low_i32x4_u Line | Count | Source | 1628 | 1.69k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.69k | Operator::$op $({ $($arg),* })? | 1630 | 1.69k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_abs Line | Count | Source | 1628 | 9.69k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.69k | Operator::$op $({ $($arg),* })? | 1630 | 9.69k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_max_s Line | Count | Source | 1628 | 6.04k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.04k | Operator::$op $({ $($arg),* })? | 1630 | 6.04k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_le Line | Count | Source | 1628 | 128k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 128k | Operator::$op $({ $($arg),* })? | 1630 | 128k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_xchg_u Line | Count | Source | 1628 | 772 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 772 | Operator::$op $({ $($arg),* })? | 1630 | 772 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_cmpxchg_u Line | Count | Source | 1628 | 948 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 948 | Operator::$op $({ $($arg),* })? | 1630 | 948 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_sat_f64_s Line | Count | Source | 1628 | 9.69k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.69k | Operator::$op $({ $($arg),* })? | 1630 | 9.69k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_store32_lane Line | Count | Source | 1628 | 3.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.58k | Operator::$op $({ $($arg),* })? | 1630 | 3.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_load Line | Count | Source | 1628 | 421 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 421 | Operator::$op $({ $($arg),* })? | 1630 | 421 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_store Line | Count | Source | 1628 | 5.49k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.49k | Operator::$op $({ $($arg),* })? | 1630 | 5.49k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_nearest Line | Count | Source | 1628 | 44.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 44.7k | Operator::$op $({ $($arg),* })? | 1630 | 44.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_le_s Line | Count | Source | 1628 | 13.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.7k | Operator::$op $({ $($arg),* })? | 1630 | 13.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_max_s Line | Count | Source | 1628 | 1.11k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.11k | Operator::$op $({ $($arg),* })? | 1630 | 1.11k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extmul_high_i8x16_u Line | Count | Source | 1628 | 865 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 865 | Operator::$op $({ $($arg),* })? | 1630 | 865 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_gt Line | Count | Source | 1628 | 4.85k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.85k | Operator::$op $({ $($arg),* })? | 1630 | 4.85k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_and Line | Count | Source | 1628 | 6.84k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.84k | Operator::$op $({ $($arg),* })? | 1630 | 6.84k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_elem_drop Line | Count | Source | 1628 | 9.72k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.72k | Operator::$op $({ $($arg),* })? | 1630 | 9.72k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_load16_u Line | Count | Source | 1628 | 1.15k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.15k | Operator::$op $({ $($arg),* })? | 1630 | 1.15k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_store8 Line | Count | Source | 1628 | 1.54k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.54k | Operator::$op $({ $($arg),* })? | 1630 | 1.54k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_div Line | Count | Source | 1628 | 1.20k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.20k | Operator::$op $({ $($arg),* })? | 1630 | 1.20k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_or Line | Count | Source | 1628 | 3.64k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.64k | Operator::$op $({ $($arg),* })? | 1630 | 3.64k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_f32_u Line | Count | Source | 1628 | 40.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 40.6k | Operator::$op $({ $($arg),* })? | 1630 | 40.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_relaxed_laneselect Line | Count | Source | 1628 | 1.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.22k | Operator::$op $({ $($arg),* })? | 1630 | 1.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_all_true Line | Count | Source | 1628 | 5.01k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.01k | Operator::$op $({ $($arg),* })? | 1630 | 5.01k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_bitselect Line | Count | Source | 1628 | 99.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 99.6k | Operator::$op $({ $($arg),* })? | 1630 | 99.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_bitmask Line | Count | Source | 1628 | 5.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.76k | Operator::$op $({ $($arg),* })? | 1630 | 5.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_store Line | Count | Source | 1628 | 30.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 30.7k | Operator::$op $({ $($arg),* })? | 1630 | 30.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_ne Line | Count | Source | 1628 | 4.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.61k | Operator::$op $({ $($arg),* })? | 1630 | 4.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_dot_i8x16_i7x16_add_s Line | Count | Source | 1628 | 620 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 620 | Operator::$op $({ $($arg),* })? | 1630 | 620 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_dot_i16x8_s Line | Count | Source | 1628 | 1.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.30k | Operator::$op $({ $($arg),* })? | 1630 | 1.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_div_s Line | Count | Source | 1628 | 43.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 43.6k | Operator::$op $({ $($arg),* })? | 1630 | 43.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_floor Line | Count | Source | 1628 | 21.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 21.9k | Operator::$op $({ $($arg),* })? | 1630 | 21.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_trunc_sat_f64x2_s_zero Line | Count | Source | 1628 | 17.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.6k | Operator::$op $({ $($arg),* })? | 1630 | 17.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_cmpxchg_u Line | Count | Source | 1628 | 2.10k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.10k | Operator::$op $({ $($arg),* })? | 1630 | 2.10k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_rotr Line | Count | Source | 1628 | 4.65k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.65k | Operator::$op $({ $($arg),* })? | 1630 | 4.65k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_ceil Line | Count | Source | 1628 | 31.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 31.7k | Operator::$op $({ $($arg),* })? | 1630 | 31.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_ge_u Line | Count | Source | 1628 | 18.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 18.2k | Operator::$op $({ $($arg),* })? | 1630 | 18.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_sub Line | Count | Source | 1628 | 5.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.30k | Operator::$op $({ $($arg),* })? | 1630 | 5.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_and Line | Count | Source | 1628 | 8.23k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.23k | Operator::$op $({ $($arg),* })? | 1630 | 8.23k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_extract_lane Line | Count | Source | 1628 | 7.70k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.70k | Operator::$op $({ $($arg),* })? | 1630 | 7.70k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_ge_u Line | Count | Source | 1628 | 9.38k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.38k | Operator::$op $({ $($arg),* })? | 1630 | 9.38k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_xor Line | Count | Source | 1628 | 3.24k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.24k | Operator::$op $({ $($arg),* })? | 1630 | 3.24k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_xor_u Line | Count | Source | 1628 | 1.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.76k | Operator::$op $({ $($arg),* })? | 1630 | 1.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_reinterpret_f32 Line | Count | Source | 1628 | 38.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 38.6k | Operator::$op $({ $($arg),* })? | 1630 | 38.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_store32 Line | Count | Source | 1628 | 3.41k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.41k | Operator::$op $({ $($arg),* })? | 1630 | 3.41k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_const Line | Count | Source | 1628 | 430k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 430k | Operator::$op $({ $($arg),* })? | 1630 | 430k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_shr_s Line | Count | Source | 1628 | 4.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.58k | Operator::$op $({ $($arg),* })? | 1630 | 4.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_ge_s Line | Count | Source | 1628 | 2.05k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.05k | Operator::$op $({ $($arg),* })? | 1630 | 2.05k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_bitmask Line | Count | Source | 1628 | 5.14k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.14k | Operator::$op $({ $($arg),* })? | 1630 | 5.14k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_xchg_u Line | Count | Source | 1628 | 955 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 955 | Operator::$op $({ $($arg),* })? | 1630 | 955 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_load8_u Line | Count | Source | 1628 | 17.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.4k | Operator::$op $({ $($arg),* })? | 1630 | 17.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_size Line | Count | Source | 1628 | 13.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.8k | Operator::$op $({ $($arg),* })? | 1630 | 13.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_load Line | Count | Source | 1628 | 777 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 777 | Operator::$op $({ $($arg),* })? | 1630 | 777 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_pmax Line | Count | Source | 1628 | 2.75k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.75k | Operator::$op $({ $($arg),* })? | 1630 | 2.75k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_convert_low_i32x4_u Line | Count | Source | 1628 | 13.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.7k | Operator::$op $({ $($arg),* })? | 1630 | 13.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_ge_s Line | Count | Source | 1628 | 4.21k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.21k | Operator::$op $({ $($arg),* })? | 1630 | 4.21k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_loop Line | Count | Source | 1628 | 77.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 77.0k | Operator::$op $({ $($arg),* })? | 1630 | 77.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_rethrow Line | Count | Source | 1628 | 65.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 65.6k | Operator::$op $({ $($arg),* })? | 1630 | 65.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_eq Line | Count | Source | 1628 | 50.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 50.5k | Operator::$op $({ $($arg),* })? | 1630 | 50.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load32x2_u Line | Count | Source | 1628 | 7.65k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.65k | Operator::$op $({ $($arg),* })? | 1630 | 7.65k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_load8_s Line | Count | Source | 1628 | 27.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 27.7k | Operator::$op $({ $($arg),* })? | 1630 | 27.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_and Line | Count | Source | 1628 | 648 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 648 | Operator::$op $({ $($arg),* })? | 1630 | 648 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_f32_s Line | Count | Source | 1628 | 17.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.9k | Operator::$op $({ $($arg),* })? | 1630 | 17.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_f32_s Line | Count | Source | 1628 | 17.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.8k | Operator::$op $({ $($arg),* })? | 1630 | 17.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_relaxed_nmadd Line | Count | Source | 1628 | 1.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.62k | Operator::$op $({ $($arg),* })? | 1630 | 1.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extend_high_i16x8_u Line | Count | Source | 1628 | 14.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.1k | Operator::$op $({ $($arg),* })? | 1630 | 14.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_sat_f32_u Line | Count | Source | 1628 | 24.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 24.8k | Operator::$op $({ $($arg),* })? | 1630 | 24.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_shl Line | Count | Source | 1628 | 20.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.8k | Operator::$op $({ $($arg),* })? | 1630 | 20.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load8_s Line | Count | Source | 1628 | 27.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 27.1k | Operator::$op $({ $($arg),* })? | 1630 | 27.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_splat Line | Count | Source | 1628 | 7.06k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.06k | Operator::$op $({ $($arg),* })? | 1630 | 7.06k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_sub Line | Count | Source | 1628 | 2.09k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.09k | Operator::$op $({ $($arg),* })? | 1630 | 2.09k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_sub Line | Count | Source | 1628 | 3.26k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.26k | Operator::$op $({ $($arg),* })? | 1630 | 3.26k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_xor_u Line | Count | Source | 1628 | 4.78k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.78k | Operator::$op $({ $($arg),* })? | 1630 | 4.78k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_xchg_u Line | Count | Source | 1628 | 962 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 962 | Operator::$op $({ $($arg),* })? | 1630 | 962 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_sat_f32_u Line | Count | Source | 1628 | 4.85k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.85k | Operator::$op $({ $($arg),* })? | 1630 | 4.85k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_rotr Line | Count | Source | 1628 | 328k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 328k | Operator::$op $({ $($arg),* })? | 1630 | 328k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_mul Line | Count | Source | 1628 | 24.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 24.6k | Operator::$op $({ $($arg),* })? | 1630 | 24.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_ceil Line | Count | Source | 1628 | 33.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 33.6k | Operator::$op $({ $($arg),* })? | 1630 | 33.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_nearest Line | Count | Source | 1628 | 19.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.2k | Operator::$op $({ $($arg),* })? | 1630 | 19.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_ref_func Line | Count | Source | 1628 | 276k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 276k | Operator::$op $({ $($arg),* })? | 1630 | 276k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_add_sat_s Line | Count | Source | 1628 | 19.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.0k | Operator::$op $({ $($arg),* })? | 1630 | 19.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_xchg_u Line | Count | Source | 1628 | 1.79k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.79k | Operator::$op $({ $($arg),* })? | 1630 | 1.79k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_shr_u Line | Count | Source | 1628 | 1.19k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.19k | Operator::$op $({ $($arg),* })? | 1630 | 1.19k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_max_s Line | Count | Source | 1628 | 1.45k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.45k | Operator::$op $({ $($arg),* })? | 1630 | 1.45k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_atomic_wait32 Line | Count | Source | 1628 | 82.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 82.5k | Operator::$op $({ $($arg),* })? | 1630 | 82.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_load16_u Line | Count | Source | 1628 | 1.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.61k | Operator::$op $({ $($arg),* })? | 1630 | 1.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_sub Line | Count | Source | 1628 | 5.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.59k | Operator::$op $({ $($arg),* })? | 1630 | 5.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_lt_u Line | Count | Source | 1628 | 2.71k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.71k | Operator::$op $({ $($arg),* })? | 1630 | 2.71k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_and_u Line | Count | Source | 1628 | 1.26k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.26k | Operator::$op $({ $($arg),* })? | 1630 | 1.26k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_avgr_u Line | Count | Source | 1628 | 2.05k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.05k | Operator::$op $({ $($arg),* })? | 1630 | 2.05k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_br_if Line | Count | Source | 1628 | 81.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 81.4k | Operator::$op $({ $($arg),* })? | 1630 | 81.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_relaxed_laneselect Line | Count | Source | 1628 | 791 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 791 | Operator::$op $({ $($arg),* })? | 1630 | 791 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_min_u Line | Count | Source | 1628 | 3.21k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.21k | Operator::$op $({ $($arg),* })? | 1630 | 3.21k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_abs Line | Count | Source | 1628 | 10.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.3k | Operator::$op $({ $($arg),* })? | 1630 | 10.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_f64_u Line | Count | Source | 1628 | 16.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.3k | Operator::$op $({ $($arg),* })? | 1630 | 16.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_max_u Line | Count | Source | 1628 | 1.39k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.39k | Operator::$op $({ $($arg),* })? | 1630 | 1.39k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_eq Line | Count | Source | 1628 | 1.55k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.55k | Operator::$op $({ $($arg),* })? | 1630 | 1.55k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_load32_u Line | Count | Source | 1628 | 2.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.62k | Operator::$op $({ $($arg),* })? | 1630 | 2.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_min Line | Count | Source | 1628 | 1.89k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.89k | Operator::$op $({ $($arg),* })? | 1630 | 1.89k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_le_u Line | Count | Source | 1628 | 9.08k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.08k | Operator::$op $({ $($arg),* })? | 1630 | 9.08k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_call Line | Count | Source | 1628 | 104k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 104k | Operator::$op $({ $($arg),* })? | 1630 | 104k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_any_true Line | Count | Source | 1628 | 1.19k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.19k | Operator::$op $({ $($arg),* })? | 1630 | 1.19k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_store8_lane Line | Count | Source | 1628 | 2.83k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.83k | Operator::$op $({ $($arg),* })? | 1630 | 2.83k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_splat Line | Count | Source | 1628 | 9.23k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.23k | Operator::$op $({ $($arg),* })? | 1630 | 9.23k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_trunc Line | Count | Source | 1628 | 88.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 88.8k | Operator::$op $({ $($arg),* })? | 1630 | 88.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_gt_u Line | Count | Source | 1628 | 18.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 18.2k | Operator::$op $({ $($arg),* })? | 1630 | 18.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_convert_i64_s Line | Count | Source | 1628 | 74.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 74.5k | Operator::$op $({ $($arg),* })? | 1630 | 74.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_block Line | Count | Source | 1628 | 138k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 138k | Operator::$op $({ $($arg),* })? | 1630 | 138k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_call_ref Line | Count | Source | 1628 | 3.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.30k | Operator::$op $({ $($arg),* })? | 1630 | 3.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extmul_low_i16x8_s Line | Count | Source | 1628 | 1.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.59k | Operator::$op $({ $($arg),* })? | 1630 | 1.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_local_tee Line | Count | Source | 1628 | 261k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 261k | Operator::$op $({ $($arg),* })? | 1630 | 261k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extract_lane_u Line | Count | Source | 1628 | 12.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.1k | Operator::$op $({ $($arg),* })? | 1630 | 12.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_store16 Line | Count | Source | 1628 | 1.02k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.02k | Operator::$op $({ $($arg),* })? | 1630 | 1.02k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_le_s Line | Count | Source | 1628 | 7.12k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.12k | Operator::$op $({ $($arg),* })? | 1630 | 7.12k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw16_and_u Line | Count | Source | 1628 | 1.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.22k | Operator::$op $({ $($arg),* })? | 1630 | 1.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_div_s Line | Count | Source | 1628 | 73.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 73.7k | Operator::$op $({ $($arg),* })? | 1630 | 73.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_delegate Line | Count | Source | 1628 | 21.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 21.6k | Operator::$op $({ $($arg),* })? | 1630 | 21.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_sqrt Line | Count | Source | 1628 | 14.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.6k | Operator::$op $({ $($arg),* })? | 1630 | 14.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_all_true Line | Count | Source | 1628 | 6.78k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.78k | Operator::$op $({ $($arg),* })? | 1630 | 6.78k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_xor_u Line | Count | Source | 1628 | 1.24k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.24k | Operator::$op $({ $($arg),* })? | 1630 | 1.24k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extend_high_i16x8_s Line | Count | Source | 1628 | 15.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.9k | Operator::$op $({ $($arg),* })? | 1630 | 15.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_grow Line | Count | Source | 1628 | 214k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 214k | Operator::$op $({ $($arg),* })? | 1630 | 214k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_gt_s Line | Count | Source | 1628 | 6.32k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.32k | Operator::$op $({ $($arg),* })? | 1630 | 6.32k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_nop Line | Count | Source | 1628 | 951k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 951k | Operator::$op $({ $($arg),* })? | 1630 | 951k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_promote_low_f32x4 Line | Count | Source | 1628 | 13.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.8k | Operator::$op $({ $($arg),* })? | 1630 | 13.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_shr_u Line | Count | Source | 1628 | 61.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 61.0k | Operator::$op $({ $($arg),* })? | 1630 | 61.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_atomic_notify Line | Count | Source | 1628 | 9.86k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.86k | Operator::$op $({ $($arg),* })? | 1630 | 9.86k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_narrow_i16x8_u Line | Count | Source | 1628 | 1.90k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.90k | Operator::$op $({ $($arg),* })? | 1630 | 1.90k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_add_sat_u Line | Count | Source | 1628 | 2.84k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.84k | Operator::$op $({ $($arg),* })? | 1630 | 2.84k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_add Line | Count | Source | 1628 | 12.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.9k | Operator::$op $({ $($arg),* })? | 1630 | 12.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_else Line | Count | Source | 1628 | 104k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 104k | Operator::$op $({ $($arg),* })? | 1630 | 104k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_extend16_s Line | Count | Source | 1628 | 28.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.6k | Operator::$op $({ $($arg),* })? | 1630 | 28.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_memory_discard Line | Count | Source | 1628 | 1.08k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.08k | Operator::$op $({ $($arg),* })? | 1630 | 1.08k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_shr_s Line | Count | Source | 1628 | 2.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.59k | Operator::$op $({ $($arg),* })? | 1630 | 2.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_eq Line | Count | Source | 1628 | 27.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 27.5k | Operator::$op $({ $($arg),* })? | 1630 | 27.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_f64_s Line | Count | Source | 1628 | 15.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.5k | Operator::$op $({ $($arg),* })? | 1630 | 15.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_lt_u Line | Count | Source | 1628 | 71.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 71.6k | Operator::$op $({ $($arg),* })? | 1630 | 71.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_ge_u Line | Count | Source | 1628 | 3.68k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.68k | Operator::$op $({ $($arg),* })? | 1630 | 3.68k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_if Line | Count | Source | 1628 | 70.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 70.1k | Operator::$op $({ $($arg),* })? | 1630 | 70.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_rem_u Line | Count | Source | 1628 | 46.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 46.6k | Operator::$op $({ $($arg),* })? | 1630 | 46.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_ne Line | Count | Source | 1628 | 3.80k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.80k | Operator::$op $({ $($arg),* })? | 1630 | 3.80k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load8_splat Line | Count | Source | 1628 | 4.86k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.86k | Operator::$op $({ $($arg),* })? | 1630 | 4.86k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_abs Line | Count | Source | 1628 | 82.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 82.8k | Operator::$op $({ $($arg),* })? | 1630 | 82.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_sqrt Line | Count | Source | 1628 | 28.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.3k | Operator::$op $({ $($arg),* })? | 1630 | 28.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_abs Line | Count | Source | 1628 | 33.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 33.1k | Operator::$op $({ $($arg),* })? | 1630 | 33.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extend_high_i8x16_u Line | Count | Source | 1628 | 12.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.3k | Operator::$op $({ $($arg),* })? | 1630 | 12.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_trunc_f32_u Line | Count | Source | 1628 | 9.99k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.99k | Operator::$op $({ $($arg),* })? | 1630 | 9.99k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_le_s Line | Count | Source | 1628 | 5.65k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.65k | Operator::$op $({ $($arg),* })? | 1630 | 5.65k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_all_true Line | Count | Source | 1628 | 6.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.60k | Operator::$op $({ $($arg),* })? | 1630 | 6.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_shl Line | Count | Source | 1628 | 1.08k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.08k | Operator::$op $({ $($arg),* })? | 1630 | 1.08k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_ge Line | Count | Source | 1628 | 16.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.5k | Operator::$op $({ $($arg),* })? | 1630 | 16.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load32_zero Line | Count | Source | 1628 | 3.16k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.16k | Operator::$op $({ $($arg),* })? | 1630 | 3.16k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load64_lane Line | Count | Source | 1628 | 4.28k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.28k | Operator::$op $({ $($arg),* })? | 1630 | 4.28k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_splat Line | Count | Source | 1628 | 7.02k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.02k | Operator::$op $({ $($arg),* })? | 1630 | 7.02k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_sub Line | Count | Source | 1628 | 449 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 449 | Operator::$op $({ $($arg),* })? | 1630 | 449 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_sub Line | Count | Source | 1628 | 5.87k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.87k | Operator::$op $({ $($arg),* })? | 1630 | 5.87k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_le Line | Count | Source | 1628 | 8.38k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.38k | Operator::$op $({ $($arg),* })? | 1630 | 8.38k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_clz Line | Count | Source | 1628 | 39.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 39.2k | Operator::$op $({ $($arg),* })? | 1630 | 39.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_load Line | Count | Source | 1628 | 17.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.3k | Operator::$op $({ $($arg),* })? | 1630 | 17.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_mul Line | Count | Source | 1628 | 1.84k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.84k | Operator::$op $({ $($arg),* })? | 1630 | 1.84k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_shr_u Line | Count | Source | 1628 | 3.67k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.67k | Operator::$op $({ $($arg),* })? | 1630 | 3.67k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_sub_sat_u Line | Count | Source | 1628 | 4.34k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.34k | Operator::$op $({ $($arg),* })? | 1630 | 4.34k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_const Line | Count | Source | 1628 | 393k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 393k | Operator::$op $({ $($arg),* })? | 1630 | 393k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_xchg Line | Count | Source | 1628 | 2.31k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.31k | Operator::$op $({ $($arg),* })? | 1630 | 2.31k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw_cmpxchg Line | Count | Source | 1628 | 2.56k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.56k | Operator::$op $({ $($arg),* })? | 1630 | 2.56k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_extend32_s Line | Count | Source | 1628 | 28.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.1k | Operator::$op $({ $($arg),* })? | 1630 | 28.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load32_u Line | Count | Source | 1628 | 22.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 22.9k | Operator::$op $({ $($arg),* })? | 1630 | 22.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_ref_is_null Line | Count | Source | 1628 | 9.18k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.18k | Operator::$op $({ $($arg),* })? | 1630 | 9.18k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_lt_u Line | Count | Source | 1628 | 17.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.0k | Operator::$op $({ $($arg),* })? | 1630 | 17.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_mul Line | Count | Source | 1628 | 1.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.58k | Operator::$op $({ $($arg),* })? | 1630 | 1.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_le_s Line | Count | Source | 1628 | 11.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.4k | Operator::$op $({ $($arg),* })? | 1630 | 11.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_lt_s Line | Count | Source | 1628 | 2.18k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.18k | Operator::$op $({ $($arg),* })? | 1630 | 2.18k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_catch Line | Count | Source | 1628 | 17.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.2k | Operator::$op $({ $($arg),* })? | 1630 | 17.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_relaxed_madd Line | Count | Source | 1628 | 2.41k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.41k | Operator::$op $({ $($arg),* })? | 1630 | 2.41k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_load8_u Line | Count | Source | 1628 | 995 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 995 | Operator::$op $({ $($arg),* })? | 1630 | 995 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_store Line | Count | Source | 1628 | 4.40k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.40k | Operator::$op $({ $($arg),* })? | 1630 | 4.40k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_mul Line | Count | Source | 1628 | 35.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 35.7k | Operator::$op $({ $($arg),* })? | 1630 | 35.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_add Line | Count | Source | 1628 | 1.01k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.01k | Operator::$op $({ $($arg),* })? | 1630 | 1.01k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_andnot Line | Count | Source | 1628 | 1.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.59k | Operator::$op $({ $($arg),* })? | 1630 | 1.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load8_lane Line | Count | Source | 1628 | 2.00k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.00k | Operator::$op $({ $($arg),* })? | 1630 | 2.00k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extmul_high_i32x4_s Line | Count | Source | 1628 | 4.54k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.54k | Operator::$op $({ $($arg),* })? | 1630 | 4.54k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_lt_s Line | Count | Source | 1628 | 1.49k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.49k | Operator::$op $({ $($arg),* })? | 1630 | 1.49k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_gt_u Line | Count | Source | 1628 | 1.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.22k | Operator::$op $({ $($arg),* })? | 1630 | 1.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_min_u Line | Count | Source | 1628 | 9.27k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.27k | Operator::$op $({ $($arg),* })? | 1630 | 9.27k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_shl Line | Count | Source | 1628 | 5.02k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.02k | Operator::$op $({ $($arg),* })? | 1630 | 5.02k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_sub Line | Count | Source | 1628 | 1.13k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.13k | Operator::$op $({ $($arg),* })? | 1630 | 1.13k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extadd_pairwise_i8x16_u Line | Count | Source | 1628 | 13.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.0k | Operator::$op $({ $($arg),* })? | 1630 | 13.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_trunc_sat_f32x4_u Line | Count | Source | 1628 | 8.31k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.31k | Operator::$op $({ $($arg),* })? | 1630 | 8.31k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_min_u Line | Count | Source | 1628 | 2.21k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.21k | Operator::$op $({ $($arg),* })? | 1630 | 2.21k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_min_s Line | Count | Source | 1628 | 3.01k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.01k | Operator::$op $({ $($arg),* })? | 1630 | 3.01k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load Line | Count | Source | 1628 | 33.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 33.8k | Operator::$op $({ $($arg),* })? | 1630 | 33.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_mul Line | Count | Source | 1628 | 5.62k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.62k | Operator::$op $({ $($arg),* })? | 1630 | 5.62k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_eqz Line | Count | Source | 1628 | 28.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.6k | Operator::$op $({ $($arg),* })? | 1630 | 28.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_gt_u Line | Count | Source | 1628 | 12.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.8k | Operator::$op $({ $($arg),* })? | 1630 | 12.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_neg Line | Count | Source | 1628 | 24.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 24.1k | Operator::$op $({ $($arg),* })? | 1630 | 24.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_ge_u Line | Count | Source | 1628 | 3.91k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.91k | Operator::$op $({ $($arg),* })? | 1630 | 3.91k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_div_u Line | Count | Source | 1628 | 22.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 22.4k | Operator::$op $({ $($arg),* })? | 1630 | 22.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_catch_all Line | Count | Source | 1628 | 52.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 52.0k | Operator::$op $({ $($arg),* })? | 1630 | 52.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extadd_pairwise_i8x16_s Line | Count | Source | 1628 | 8.02k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.02k | Operator::$op $({ $($arg),* })? | 1630 | 8.02k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw_add Line | Count | Source | 1628 | 38.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 38.8k | Operator::$op $({ $($arg),* })? | 1630 | 38.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_or_u Line | Count | Source | 1628 | 1.45k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.45k | Operator::$op $({ $($arg),* })? | 1630 | 1.45k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_convert_i32_u Line | Count | Source | 1628 | 28.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.4k | Operator::$op $({ $($arg),* })? | 1630 | 28.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_convert_i64_s Line | Count | Source | 1628 | 10.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.2k | Operator::$op $({ $($arg),* })? | 1630 | 10.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_or Line | Count | Source | 1628 | 20.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 20.6k | Operator::$op $({ $($arg),* })? | 1630 | 20.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_local_get Line | Count | Source | 1628 | 540k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 540k | Operator::$op $({ $($arg),* })? | 1630 | 540k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_load Line | Count | Source | 1628 | 15.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.5k | Operator::$op $({ $($arg),* })? | 1630 | 15.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_shr_s Line | Count | Source | 1628 | 10.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.1k | Operator::$op $({ $($arg),* })? | 1630 | 10.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_store16 Line | Count | Source | 1628 | 6.26k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.26k | Operator::$op $({ $($arg),* })? | 1630 | 6.26k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_const Line | Count | Source | 1628 | 946k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 946k | Operator::$op $({ $($arg),* })? | 1630 | 946k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extend_low_i8x16_u Line | Count | Source | 1628 | 11.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.9k | Operator::$op $({ $($arg),* })? | 1630 | 11.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_gt_u Line | Count | Source | 1628 | 25.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 25.1k | Operator::$op $({ $($arg),* })? | 1630 | 25.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_ne Line | Count | Source | 1628 | 4.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.30k | Operator::$op $({ $($arg),* })? | 1630 | 4.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_ge_s Line | Count | Source | 1628 | 3.42k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.42k | Operator::$op $({ $($arg),* })? | 1630 | 3.42k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_reinterpret_f64 Line | Count | Source | 1628 | 27.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 27.4k | Operator::$op $({ $($arg),* })? | 1630 | 27.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_get Line | Count | Source | 1628 | 9.22k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.22k | Operator::$op $({ $($arg),* })? | 1630 | 9.22k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_and Line | Count | Source | 1628 | 6.40k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.40k | Operator::$op $({ $($arg),* })? | 1630 | 6.40k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_rotl Line | Count | Source | 1628 | 3.12k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.12k | Operator::$op $({ $($arg),* })? | 1630 | 3.12k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_min Line | Count | Source | 1628 | 3.30k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.30k | Operator::$op $({ $($arg),* })? | 1630 | 3.30k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_gt_u Line | Count | Source | 1628 | 4.28k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.28k | Operator::$op $({ $($arg),* })? | 1630 | 4.28k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_unreachable Line | Count | Source | 1628 | 5.96M | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.96M | Operator::$op $({ $($arg),* })? | 1630 | 5.96M | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_try Line | Count | Source | 1628 | 527k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 527k | Operator::$op $({ $($arg),* })? | 1630 | 527k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_gt Line | Count | Source | 1628 | 7.81k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.81k | Operator::$op $({ $($arg),* })? | 1630 | 7.81k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load16x4_s Line | Count | Source | 1628 | 3.35k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.35k | Operator::$op $({ $($arg),* })? | 1630 | 3.35k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extend_low_i32x4_s Line | Count | Source | 1628 | 11.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 11.9k | Operator::$op $({ $($arg),* })? | 1630 | 11.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_max Line | Count | Source | 1628 | 2.71k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.71k | Operator::$op $({ $($arg),* })? | 1630 | 2.71k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_lt_s Line | Count | Source | 1628 | 16.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.9k | Operator::$op $({ $($arg),* })? | 1630 | 16.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_gt_s Line | Count | Source | 1628 | 17.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 17.1k | Operator::$op $({ $($arg),* })? | 1630 | 17.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_or_u Line | Count | Source | 1628 | 10.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.0k | Operator::$op $({ $($arg),* })? | 1630 | 10.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_extend_low_i16x8_s Line | Count | Source | 1628 | 10.6k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 10.6k | Operator::$op $({ $($arg),* })? | 1630 | 10.6k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_typed_select Line | Count | Source | 1628 | 3.80k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.80k | Operator::$op $({ $($arg),* })? | 1630 | 3.80k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_return_call_ref Line | Count | Source | 1628 | 4.44k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.44k | Operator::$op $({ $($arg),* })? | 1630 | 4.44k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extmul_low_i32x4_s Line | Count | Source | 1628 | 8.42k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.42k | Operator::$op $({ $($arg),* })? | 1630 | 8.42k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_neg Line | Count | Source | 1628 | 19.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.0k | Operator::$op $({ $($arg),* })? | 1630 | 19.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw8_add_u Line | Count | Source | 1628 | 965 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 965 | Operator::$op $({ $($arg),* })? | 1630 | 965 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_neg Line | Count | Source | 1628 | 7.03k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 7.03k | Operator::$op $({ $($arg),* })? | 1630 | 7.03k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_shl Line | Count | Source | 1628 | 1.03k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.03k | Operator::$op $({ $($arg),* })? | 1630 | 1.03k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_shr_s Line | Count | Source | 1628 | 31.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 31.0k | Operator::$op $({ $($arg),* })? | 1630 | 31.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_global_get Line | Count | Source | 1628 | 119k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 119k | Operator::$op $({ $($arg),* })? | 1630 | 119k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load64_zero Line | Count | Source | 1628 | 3.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.76k | Operator::$op $({ $($arg),* })? | 1630 | 3.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_table_grow Line | Count | Source | 1628 | 3.59k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.59k | Operator::$op $({ $($arg),* })? | 1630 | 3.59k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_add_sat_s Line | Count | Source | 1628 | 41.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 41.5k | Operator::$op $({ $($arg),* })? | 1630 | 41.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw16_add_u Line | Count | Source | 1628 | 1.24k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.24k | Operator::$op $({ $($arg),* })? | 1630 | 1.24k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_ne Line | Count | Source | 1628 | 8.89k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.89k | Operator::$op $({ $($arg),* })? | 1630 | 8.89k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_extend8_s Line | Count | Source | 1628 | 36.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 36.1k | Operator::$op $({ $($arg),* })? | 1630 | 36.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_mul Line | Count | Source | 1628 | 1.88k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.88k | Operator::$op $({ $($arg),* })? | 1630 | 1.88k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_ge Line | Count | Source | 1628 | 848 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 848 | Operator::$op $({ $($arg),* })? | 1630 | 848 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_add Line | Count | Source | 1628 | 5.15k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.15k | Operator::$op $({ $($arg),* })? | 1630 | 5.15k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_load8_u Line | Count | Source | 1628 | 2.20k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.20k | Operator::$op $({ $($arg),* })? | 1630 | 2.20k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_atomic_rmw32_sub_u Line | Count | Source | 1628 | 1.29k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.29k | Operator::$op $({ $($arg),* })? | 1630 | 1.29k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_wrap_i64 Line | Count | Source | 1628 | 28.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 28.7k | Operator::$op $({ $($arg),* })? | 1630 | 28.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_relaxed_trunc_f32x4_s Line | Count | Source | 1628 | 12.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.0k | Operator::$op $({ $($arg),* })? | 1630 | 12.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_relaxed_madd Line | Count | Source | 1628 | 499 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 499 | Operator::$op $({ $($arg),* })? | 1630 | 499 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_reinterpret_i64 Line | Count | Source | 1628 | 14.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.5k | Operator::$op $({ $($arg),* })? | 1630 | 14.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_br_table Line | Count | Source | 1628 | 13.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.1k | Operator::$op $({ $($arg),* })? | 1630 | 13.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extend_high_i32x4_u Line | Count | Source | 1628 | 12.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 12.2k | Operator::$op $({ $($arg),* })? | 1630 | 12.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_sub_sat_s Line | Count | Source | 1628 | 2.06k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.06k | Operator::$op $({ $($arg),* })? | 1630 | 2.06k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_avgr_u Line | Count | Source | 1628 | 3.40k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.40k | Operator::$op $({ $($arg),* })? | 1630 | 3.40k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_swizzle Line | Count | Source | 1628 | 3.02k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.02k | Operator::$op $({ $($arg),* })? | 1630 | 3.02k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_le_u Line | Count | Source | 1628 | 39.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 39.2k | Operator::$op $({ $($arg),* })? | 1630 | 39.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_convert_i32_s Line | Count | Source | 1628 | 30.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 30.8k | Operator::$op $({ $($arg),* })? | 1630 | 30.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_add Line | Count | Source | 1628 | 2.60k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 2.60k | Operator::$op $({ $($arg),* })? | 1630 | 2.60k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_extmul_high_i32x4_u Line | Count | Source | 1628 | 15.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.3k | Operator::$op $({ $($arg),* })? | 1630 | 15.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_trunc Line | Count | Source | 1628 | 13.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 13.5k | Operator::$op $({ $($arg),* })? | 1630 | 13.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_trunc Line | Count | Source | 1628 | 15.5k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 15.5k | Operator::$op $({ $($arg),* })? | 1630 | 15.5k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_add Line | Count | Source | 1628 | 19.0k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.0k | Operator::$op $({ $($arg),* })? | 1630 | 19.0k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load16_lane Line | Count | Source | 1628 | 4.35k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.35k | Operator::$op $({ $($arg),* })? | 1630 | 4.35k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_rem_u Line | Count | Source | 1628 | 5.56k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.56k | Operator::$op $({ $($arg),* })? | 1630 | 5.56k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_neg Line | Count | Source | 1628 | 29.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 29.2k | Operator::$op $({ $($arg),* })? | 1630 | 29.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_lt_s Line | Count | Source | 1628 | 25.1k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 25.1k | Operator::$op $({ $($arg),* })? | 1630 | 25.1k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_le Line | Count | Source | 1628 | 14.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.3k | Operator::$op $({ $($arg),* })? | 1630 | 14.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_lt Line | Count | Source | 1628 | 1.88k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.88k | Operator::$op $({ $($arg),* })? | 1630 | 1.88k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_rem_s Line | Count | Source | 1628 | 32.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 32.2k | Operator::$op $({ $($arg),* })? | 1630 | 32.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_store Line | Count | Source | 1628 | 4.17k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.17k | Operator::$op $({ $($arg),* })? | 1630 | 4.17k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_ne Line | Count | Source | 1628 | 8.58k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.58k | Operator::$op $({ $($arg),* })? | 1630 | 8.58k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_add Line | Count | Source | 1628 | 16.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 16.4k | Operator::$op $({ $($arg),* })? | 1630 | 16.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_call_indirect Line | Count | Source | 1628 | 14.9k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 14.9k | Operator::$op $({ $($arg),* })? | 1630 | 14.9k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load8x8_s Line | Count | Source | 1628 | 8.83k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.83k | Operator::$op $({ $($arg),* })? | 1630 | 8.83k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_trunc_sat_f64_u Line | Count | Source | 1628 | 8.70k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 8.70k | Operator::$op $({ $($arg),* })? | 1630 | 8.70k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_abs Line | Count | Source | 1628 | 38.4k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 38.4k | Operator::$op $({ $($arg),* })? | 1630 | 38.4k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_eq Line | Count | Source | 1628 | 6.53k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 6.53k | Operator::$op $({ $($arg),* })? | 1630 | 6.53k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32_convert_i64_u Line | Count | Source | 1628 | 25.3k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 25.3k | Operator::$op $({ $($arg),* })? | 1630 | 25.3k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_gt_s Line | Count | Source | 1628 | 4.65k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.65k | Operator::$op $({ $($arg),* })? | 1630 | 4.65k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_eq Line | Count | Source | 1628 | 1.20k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 1.20k | Operator::$op $({ $($arg),* })? | 1630 | 1.20k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_load32x2_s Line | Count | Source | 1628 | 3.76k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.76k | Operator::$op $({ $($arg),* })? | 1630 | 3.76k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64_store16 Line | Count | Source | 1628 | 9.43k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.43k | Operator::$op $({ $($arg),* })? | 1630 | 9.43k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32_atomic_rmw8_add_u Line | Count | Source | 1628 | 775 | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 775 | Operator::$op $({ $($arg),* })? | 1630 | 775 | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64_floor Line | Count | Source | 1628 | 21.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 21.2k | Operator::$op $({ $($arg),* })? | 1630 | 21.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i32x4_trunc_sat_f32x4_s Line | Count | Source | 1628 | 19.2k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 19.2k | Operator::$op $({ $($arg),* })? | 1630 | 19.2k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f64x2_convert_low_i32x4_s Line | Count | Source | 1628 | 31.8k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 31.8k | Operator::$op $({ $($arg),* })? | 1630 | 31.8k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_f32x4_relaxed_min Line | Count | Source | 1628 | 3.43k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 3.43k | Operator::$op $({ $($arg),* })? | 1630 | 3.43k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i64x2_le_s Line | Count | Source | 1628 | 5.61k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 5.61k | Operator::$op $({ $($arg),* })? | 1630 | 5.61k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_local_set Line | Count | Source | 1628 | 37.7k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 37.7k | Operator::$op $({ $($arg),* })? | 1630 | 37.7k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i8x16_all_true Line | Count | Source | 1628 | 4.19k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 4.19k | Operator::$op $({ $($arg),* })? | 1630 | 4.19k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_v128_const Line | Count | Source | 1628 | 486k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 486k | Operator::$op $({ $($arg),* })? | 1630 | 486k | } |
<wasmparser::binary_reader::OperatorFactory as wasmparser::readers::core::operators::VisitOperator>::visit_i16x8_extract_lane_s Line | Count | Source | 1628 | 9.86k | fn $visit(&mut self $($(,$arg: $argty)*)?) -> Operator<'a> { | 1629 | 9.86k | Operator::$op $({ $($arg),* })? | 1630 | 9.86k | } |
|
1631 | | )* |
1632 | | } |
1633 | | } |
1634 | | |
1635 | | impl<'a> VisitOperator<'a> for OperatorFactory<'a> { |
1636 | | type Output = Operator<'a>; |
1637 | | |
1638 | | for_each_operator!(define_visit_operator); |
1639 | | } |
1640 | | |
1641 | | /// Iterator returned from [`BinaryReader::read_iter`]. |
1642 | | pub struct BinaryReaderIter<'a, 'me, T: FromReader<'a>> { |
1643 | | remaining: usize, |
1644 | | reader: &'me mut BinaryReader<'a>, |
1645 | | _marker: marker::PhantomData<T>, |
1646 | | } |
1647 | | |
1648 | | impl<'a, T> Iterator for BinaryReaderIter<'a, '_, T> |
1649 | | where |
1650 | | T: FromReader<'a>, |
1651 | | { |
1652 | | type Item = Result<T>; |
1653 | | |
1654 | 112M | fn next(&mut self) -> Option<Result<T>> { |
1655 | 112M | if self.remaining == 0 { |
1656 | 30.4M | None |
1657 | | } else { |
1658 | 81.7M | let ret = self.reader.read::<T>(); |
1659 | 81.7M | if ret.is_err() { |
1660 | 6.15k | self.remaining = 0; |
1661 | 81.7M | } else { |
1662 | 81.7M | self.remaining -= 1; |
1663 | 81.7M | } |
1664 | 81.7M | Some(ret) |
1665 | | } |
1666 | 112M | } <wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::types::ValType> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 24.1M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 24.1M | if self.remaining == 0 { | 1656 | 4.86M | None | 1657 | | } else { | 1658 | 19.2M | let ret = self.reader.read::<T>(); | 1659 | 19.2M | if ret.is_err() { | 1660 | 63 | self.remaining = 0; | 1661 | 19.2M | } else { | 1662 | 19.2M | self.remaining -= 1; | 1663 | 19.2M | } | 1664 | 19.2M | Some(ret) | 1665 | | } | 1666 | 24.1M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::exports::Export> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 415k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 415k | if self.remaining == 0 { | 1656 | 124k | None | 1657 | | } else { | 1658 | 290k | let ret = self.reader.read::<T>(); | 1659 | 290k | if ret.is_err() { | 1660 | 39 | self.remaining = 0; | 1661 | 290k | } else { | 1662 | 290k | self.remaining -= 1; | 1663 | 290k | } | 1664 | 290k | Some(ret) | 1665 | | } | 1666 | 415k | } |
<wasmparser::binary_reader::BinaryReaderIter<&str> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 10.1M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 10.1M | if self.remaining == 0 { | 1656 | 4.12M | None | 1657 | | } else { | 1658 | 6.06M | let ret = self.reader.read::<T>(); | 1659 | 6.06M | if ret.is_err() { | 1660 | 19 | self.remaining = 0; | 1661 | 6.06M | } else { | 1662 | 6.06M | self.remaining -= 1; | 1663 | 6.06M | } | 1664 | 6.06M | Some(ret) | 1665 | | } | 1666 | 10.1M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::InstanceTypeDeclaration> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 27.4M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 27.4M | if self.remaining == 0 { | 1656 | 3.04M | None | 1657 | | } else { | 1658 | 24.4M | let ret = self.reader.read::<T>(); | 1659 | 24.4M | if ret.is_err() { | 1660 | 3.05k | self.remaining = 0; | 1661 | 24.4M | } else { | 1662 | 24.4M | self.remaining -= 1; | 1663 | 24.4M | } | 1664 | 24.4M | Some(ret) | 1665 | | } | 1666 | 27.4M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ModuleTypeDeclaration> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 1.77k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 1.77k | if self.remaining == 0 { | 1656 | 1.26k | None | 1657 | | } else { | 1658 | 513 | let ret = self.reader.read::<T>(); | 1659 | 513 | if ret.is_err() { | 1660 | 48 | self.remaining = 0; | 1661 | 465 | } else { | 1662 | 465 | self.remaining -= 1; | 1663 | 465 | } | 1664 | 513 | Some(ret) | 1665 | | } | 1666 | 1.77k | } |
<wasmparser::binary_reader::BinaryReaderIter<(&str, wasmparser::readers::component::types::ComponentValType)> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 26.7M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 26.7M | if self.remaining == 0 { | 1656 | 10.6M | None | 1657 | | } else { | 1658 | 16.0M | let ret = self.reader.read::<T>(); | 1659 | 16.0M | if ret.is_err() { | 1660 | 35 | self.remaining = 0; | 1661 | 16.0M | } else { | 1662 | 16.0M | self.remaining -= 1; | 1663 | 16.0M | } | 1664 | 16.0M | Some(ret) | 1665 | | } | 1666 | 26.7M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::ComponentInstantiationArg> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 104k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 104k | if self.remaining == 0 { | 1656 | 60.1k | None | 1657 | | } else { | 1658 | 44.4k | let ret = self.reader.read::<T>(); | 1659 | 44.4k | if ret.is_err() { | 1660 | 46 | self.remaining = 0; | 1661 | 44.3k | } else { | 1662 | 44.3k | self.remaining -= 1; | 1663 | 44.3k | } | 1664 | 44.4k | Some(ret) | 1665 | | } | 1666 | 104k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::InstantiationArg> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 300k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 300k | if self.remaining == 0 { | 1656 | 238k | None | 1657 | | } else { | 1658 | 62.2k | let ret = self.reader.read::<T>(); | 1659 | 62.2k | if ret.is_err() { | 1660 | 29 | self.remaining = 0; | 1661 | 62.2k | } else { | 1662 | 62.2k | self.remaining -= 1; | 1663 | 62.2k | } | 1664 | 62.2k | Some(ret) | 1665 | | } | 1666 | 300k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::VariantCase> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 3.47M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 3.47M | if self.remaining == 0 { | 1656 | 1.33M | None | 1657 | | } else { | 1658 | 2.13M | let ret = self.reader.read::<T>(); | 1659 | 2.13M | if ret.is_err() { | 1660 | 35 | self.remaining = 0; | 1661 | 2.13M | } else { | 1662 | 2.13M | self.remaining -= 1; | 1663 | 2.13M | } | 1664 | 2.13M | Some(ret) | 1665 | | } | 1666 | 3.47M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentTypeDeclaration> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 10.6M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 10.6M | if self.remaining == 0 { | 1656 | 2.25M | None | 1657 | | } else { | 1658 | 8.35M | let ret = self.reader.read::<T>(); | 1659 | 8.35M | if ret.is_err() { | 1660 | 2.50k | self.remaining = 0; | 1661 | 8.34M | } else { | 1662 | 8.34M | self.remaining -= 1; | 1663 | 8.34M | } | 1664 | 8.35M | Some(ret) | 1665 | | } | 1666 | 10.6M | } |
<wasmparser::binary_reader::BinaryReaderIter<u32> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 30.3k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 30.3k | if self.remaining == 0 { | 1656 | 8.28k | None | 1657 | | } else { | 1658 | 22.0k | let ret = self.reader.read::<T>(); | 1659 | 22.0k | if ret.is_err() { | 1660 | 189 | self.remaining = 0; | 1661 | 21.8k | } else { | 1662 | 21.8k | self.remaining -= 1; | 1663 | 21.8k | } | 1664 | 22.0k | Some(ret) | 1665 | | } | 1666 | 30.3k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::canonicals::CanonicalOption> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 645k | fn next(&mut self) -> Option<Result<T>> { | 1655 | 645k | if self.remaining == 0 { | 1656 | 423k | None | 1657 | | } else { | 1658 | 221k | let ret = self.reader.read::<T>(); | 1659 | 221k | if ret.is_err() { | 1660 | 57 | self.remaining = 0; | 1661 | 221k | } else { | 1662 | 221k | self.remaining -= 1; | 1663 | 221k | } | 1664 | 221k | Some(ret) | 1665 | | } | 1666 | 645k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentValType> as core::iter::traits::iterator::Iterator>::next Line | Count | Source | 1654 | 7.98M | fn next(&mut self) -> Option<Result<T>> { | 1655 | 7.98M | if self.remaining == 0 { | 1656 | 3.25M | None | 1657 | | } else { | 1658 | 4.72M | let ret = self.reader.read::<T>(); | 1659 | 4.72M | if ret.is_err() { | 1660 | 41 | self.remaining = 0; | 1661 | 4.72M | } else { | 1662 | 4.72M | self.remaining -= 1; | 1663 | 4.72M | } | 1664 | 4.72M | Some(ret) | 1665 | | } | 1666 | 7.98M | } |
|
1667 | | |
1668 | 20.0M | fn size_hint(&self) -> (usize, Option<usize>) { |
1669 | 20.0M | (self.remaining, Some(self.remaining)) |
1670 | 20.0M | } <wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::VariantCase> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 841k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 841k | (self.remaining, Some(self.remaining)) | 1670 | 841k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::InstantiationArg> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 53.2k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 53.2k | (self.remaining, Some(self.remaining)) | 1670 | 53.2k | } |
<wasmparser::binary_reader::BinaryReaderIter<(&str, wasmparser::readers::component::types::ComponentValType)> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 5.86M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 5.86M | (self.remaining, Some(self.remaining)) | 1670 | 5.86M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::types::ValType> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 3.68M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 3.68M | (self.remaining, Some(self.remaining)) | 1670 | 3.68M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::InstanceTypeDeclaration> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 3.06M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 3.06M | (self.remaining, Some(self.remaining)) | 1670 | 3.06M | } |
<wasmparser::binary_reader::BinaryReaderIter<u32> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 3.43k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 3.43k | (self.remaining, Some(self.remaining)) | 1670 | 3.43k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::exports::Export> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 97.2k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 97.2k | (self.remaining, Some(self.remaining)) | 1670 | 97.2k | } |
<wasmparser::binary_reader::BinaryReaderIter<&str> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 2.38M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 2.38M | (self.remaining, Some(self.remaining)) | 1670 | 2.38M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::ComponentInstantiationArg> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 13.9k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 13.9k | (self.remaining, Some(self.remaining)) | 1670 | 13.9k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentValType> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 1.97M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 1.97M | (self.remaining, Some(self.remaining)) | 1670 | 1.97M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::canonicals::CanonicalOption> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 149k | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 149k | (self.remaining, Some(self.remaining)) | 1670 | 149k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentTypeDeclaration> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 1.86M | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 1.86M | (self.remaining, Some(self.remaining)) | 1670 | 1.86M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ModuleTypeDeclaration> as core::iter::traits::iterator::Iterator>::size_hint Line | Count | Source | 1668 | 173 | fn size_hint(&self) -> (usize, Option<usize>) { | 1669 | 173 | (self.remaining, Some(self.remaining)) | 1670 | 173 | } |
|
1671 | | } |
1672 | | |
1673 | | impl<'a, T> Drop for BinaryReaderIter<'a, '_, T> |
1674 | | where |
1675 | | T: FromReader<'a>, |
1676 | | { |
1677 | 15.2M | fn drop(&mut self) { |
1678 | 15.2M | while self.next().is_some() { |
1679 | 0 | // ... |
1680 | 0 | } |
1681 | 15.2M | } <wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::types::ValType> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 2.43M | fn drop(&mut self) { | 1678 | 2.43M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 2.43M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ModuleTypeDeclaration> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 654 | fn drop(&mut self) { | 1678 | 654 | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 654 | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::ComponentInstantiationArg> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 30.0k | fn drop(&mut self) { | 1678 | 30.0k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 30.0k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentTypeDeclaration> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 1.12M | fn drop(&mut self) { | 1678 | 1.12M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 1.12M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::instances::InstantiationArg> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 119k | fn drop(&mut self) { | 1678 | 119k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 119k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::canonicals::CanonicalOption> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 211k | fn drop(&mut self) { | 1678 | 211k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 211k | } |
<wasmparser::binary_reader::BinaryReaderIter<(&str, wasmparser::readers::component::types::ComponentValType)> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 5.33M | fn drop(&mut self) { | 1678 | 5.33M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 5.33M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::core::exports::Export> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 62.2k | fn drop(&mut self) { | 1678 | 62.2k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 62.2k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::VariantCase> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 669k | fn drop(&mut self) { | 1678 | 669k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 669k | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::ComponentValType> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 1.62M | fn drop(&mut self) { | 1678 | 1.62M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 1.62M | } |
<wasmparser::binary_reader::BinaryReaderIter<wasmparser::readers::component::types::InstanceTypeDeclaration> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 1.52M | fn drop(&mut self) { | 1678 | 1.52M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 1.52M | } |
<wasmparser::binary_reader::BinaryReaderIter<&str> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 2.06M | fn drop(&mut self) { | 1678 | 2.06M | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 2.06M | } |
<wasmparser::binary_reader::BinaryReaderIter<u32> as core::ops::drop::Drop>::drop Line | Count | Source | 1677 | 4.23k | fn drop(&mut self) { | 1678 | 4.23k | while self.next().is_some() { | 1679 | 0 | // ... | 1680 | 0 | } | 1681 | 4.23k | } |
|
1682 | | } |