diff options
| author | Henry Gressmann <mail@henrygressmann.de> | 2024-07-01 23:17:57 +0200 |
|---|---|---|
| committer | Henry Gressmann <mail@henrygressmann.de> | 2024-07-01 23:17:57 +0200 |
| commit | 3361f928658652bd7178f37851c9dd9fadb077c8 (patch) | |
| tree | 7ebf8c6e8b99820c4a37900d24184d5828f2b913 /crates/parser/src/conversion.rs | |
| parent | 4425733bdfb516ca2530e6199c2c95ece91b627d (diff) | |
chore: refactor executor, add LocalCopy instructions
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser/src/conversion.rs')
| -rw-r--r-- | crates/parser/src/conversion.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/parser/src/conversion.rs b/crates/parser/src/conversion.rs index 214487f..c733dcc 100644 --- a/crates/parser/src/conversion.rs +++ b/crates/parser/src/conversion.rs @@ -176,7 +176,7 @@ pub(crate) fn convert_module_code( // maps a local's address to the index in the type's locals array let mut local_addr_map = Vec::with_capacity(count as usize); - let mut local_counts = LocalCounts::default(); + let mut local_counts = ValueCounts::default(); for (i, local) in locals_reader.into_iter().enumerate() { let local = local?; @@ -186,20 +186,20 @@ pub(crate) fn convert_module_code( for i in 0..validator.len_locals() { match validator.get_local_type(i) { Some(wasmparser::ValType::I32) | Some(wasmparser::ValType::F32) => { - local_addr_map.push(local_counts.local_32); - local_counts.local_32 += 1; + local_addr_map.push(local_counts.c32); + local_counts.c32 += 1; } Some(wasmparser::ValType::I64) | Some(wasmparser::ValType::F64) => { - local_addr_map.push(local_counts.local_64); - local_counts.local_64 += 1; + local_addr_map.push(local_counts.c64); + local_counts.c64 += 1; } Some(wasmparser::ValType::V128) => { - local_addr_map.push(local_counts.local_128); - local_counts.local_128 += 1; + local_addr_map.push(local_counts.c128); + local_counts.c128 += 1; } Some(wasmparser::ValType::Ref(_)) => { - local_addr_map.push(local_counts.local_ref); - local_counts.local_ref += 1; + local_addr_map.push(local_counts.cref); + local_counts.cref += 1; } None => return Err(crate::ParseError::UnsupportedOperator("Unknown local type".to_string())), } |
