summaryrefslogtreecommitdiff
path: root/crates/parser/src/conversion.rs
diff options
context:
space:
mode:
authorHenry Gressmann <mail@henrygressmann.de>2023-12-10 23:11:07 +0100
committerHenry Gressmann <mail@henrygressmann.de>2023-12-10 23:11:07 +0100
commitf203c4a3890a6555e63e4224198a240ddf6d238d (patch)
tree36de4b6bffebcb0fc26b3fd806468abf1569f9a3 /crates/parser/src/conversion.rs
parent4ba9393ec6f28ee81c80b504ca2ac2c164cc87c9 (diff)
test(tinywasm): create wasm spec test harness
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser/src/conversion.rs')
-rw-r--r--crates/parser/src/conversion.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/parser/src/conversion.rs b/crates/parser/src/conversion.rs
index 432909c..abc401c 100644
--- a/crates/parser/src/conversion.rs
+++ b/crates/parser/src/conversion.rs
@@ -46,7 +46,7 @@ pub(crate) fn convert_module_code(
}
let body_reader = func.get_operators_reader()?;
- let body = process_operators(body_reader.into_iter(), validator)?;
+ let body = process_operators(body_reader.original_position(), body_reader.into_iter(), validator)?;
Ok(CodeSection {
locals: locals.into_boxed_slice(),
@@ -111,12 +111,13 @@ pub(crate) fn convert_memarg(memarg: wasmparser::MemArg) -> MemArg {
}
pub fn process_operators<'a>(
+ offset: usize,
ops: impl Iterator<Item = Result<wasmparser::Operator<'a>, wasmparser::BinaryReaderError>>,
mut validator: FuncValidator<ValidatorResources>,
) -> Result<Box<[Instruction]>> {
let mut instructions = Vec::new();
- let mut offset = 0;
+ let mut offset = offset.into();
for op in ops {
let op = op?;
validator.op(offset, &op)?;