summaryrefslogtreecommitdiff
path: root/crates/parser/src/conversion.rs
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2024-07-01 23:17:57 +0200
committerHenry Gressmann <mail@henrygressmann.de>2024-07-01 23:17:57 +0200
commit3361f928658652bd7178f37851c9dd9fadb077c8 (patch)
tree7ebf8c6e8b99820c4a37900d24184d5828f2b913 /crates/parser/src/conversion.rs
parent4425733bdfb516ca2530e6199c2c95ece91b627d (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.rs18
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())),
}