Skip to content
This repository was archived by the owner on Oct 3, 2025. It is now read-only.

Commit fc76c1e

Browse files
chore: update deps
Signed-off-by: Henry Gressmann <mail@henrygressmann.de>
1 parent b61e55c commit fc76c1e

File tree

12 files changed

+368
-128
lines changed

12 files changed

+368
-128
lines changed

Cargo.lock

Lines changed: 332 additions & 76 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

benchmarks/benches/argon2id.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ fn criterion_benchmark(c: &mut Criterion) {
4343
group.measurement_time(std::time::Duration::from_secs(7));
4444
group.sample_size(10);
4545

46-
// group.bench_function("native", |b| b.iter(|| run_native(black_box(params))));
46+
group.bench_function("native", |b| b.iter(|| run_native(black_box(params))));
4747
group.bench_function("tinywasm", |b| b.iter(|| run_tinywasm(ARGON2ID, black_box(params), "argon2id")));
48-
// group.bench_function("wasmi", |b| b.iter(|| run_wasmi(ARGON2ID, black_box(params), "argon2id")));
49-
// group.bench_function("wasmer", |b| b.iter(|| run_wasmer(ARGON2ID, black_box(params), "argon2id")));
48+
group.bench_function("wasmi", |b| b.iter(|| run_wasmi(ARGON2ID, black_box(params), "argon2id")));
49+
group.bench_function("wasmer", |b| b.iter(|| run_wasmer(ARGON2ID, black_box(params), "argon2id")));
5050
}
5151

5252
criterion_group!(

benchmarks/benches/fibonacci.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,23 +46,23 @@ fn run_native_recursive(n: i32) -> i32 {
4646

4747
static FIBONACCI: &[u8] = include_bytes!("../../examples/rust/out/fibonacci.opt.wasm");
4848
fn criterion_benchmark(c: &mut Criterion) {
49-
// {
50-
// let mut group = c.benchmark_group("fibonacci");
51-
// group.bench_function("native", |b| b.iter(|| run_native(black_box(60))));
52-
// group.bench_function("tinywasm", |b| b.iter(|| run_tinywasm(FIBONACCI, black_box(60), "fibonacci")));
53-
// group.bench_function("wasmi", |b| b.iter(|| run_wasmi(FIBONACCI, black_box(60), "fibonacci")));
54-
// group.bench_function("wasmer", |b| b.iter(|| run_wasmer(FIBONACCI, black_box(60), "fibonacci")));
55-
// }
49+
{
50+
let mut group = c.benchmark_group("fibonacci");
51+
group.bench_function("native", |b| b.iter(|| run_native(black_box(60))));
52+
group.bench_function("tinywasm", |b| b.iter(|| run_tinywasm(FIBONACCI, black_box(60), "fibonacci")));
53+
group.bench_function("wasmi", |b| b.iter(|| run_wasmi(FIBONACCI, black_box(60), "fibonacci")));
54+
group.bench_function("wasmer", |b| b.iter(|| run_wasmer(FIBONACCI, black_box(60), "fibonacci")));
55+
}
5656

5757
{
5858
let mut group = c.benchmark_group("fibonacci-recursive");
5959
group.measurement_time(std::time::Duration::from_secs(5));
60-
// group.bench_function("native", |b| b.iter(|| run_native_recursive(black_box(26))));
60+
group.bench_function("native", |b| b.iter(|| run_native_recursive(black_box(26))));
6161
group.bench_function("tinywasm", |b| {
6262
b.iter(|| run_tinywasm(black_box(FIBONACCI), black_box(26), "fibonacci_recursive"))
6363
});
64-
// group.bench_function("wasmi", |b| b.iter(|| run_wasmi(FIBONACCI, black_box(26), "fibonacci_recursive")));
65-
// group.bench_function("wasmer", |b| b.iter(|| run_wasmer(FIBONACCI, black_box(26), "fibonacci_recursive")));
64+
group.bench_function("wasmi", |b| b.iter(|| run_wasmi(FIBONACCI, black_box(26), "fibonacci_recursive")));
65+
group.bench_function("wasmer", |b| b.iter(|| run_wasmer(FIBONACCI, black_box(26), "fibonacci_recursive")));
6666
}
6767
}
6868

benchmarks/benches/selfhosted.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,18 @@ fn run_wasmer(wasm: &[u8]) {
5353
static TINYWASM: &[u8] = include_bytes!("../../examples/rust/out/tinywasm.opt.wasm");
5454
fn criterion_benchmark(c: &mut Criterion) {
5555
{
56-
let group = c.benchmark_group("selfhosted-parse");
57-
// group.bench_function("tinywasm", |b| {
58-
// b.iter(|| tinywasm::Module::parse_bytes(black_box(TINYWASM)).expect("parse"))
59-
// });
56+
let mut group = c.benchmark_group("selfhosted-parse");
57+
group.bench_function("tinywasm", |b| {
58+
b.iter(|| tinywasm::Module::parse_bytes(black_box(TINYWASM)).expect("parse"))
59+
});
6060
}
6161

6262
{
6363
let mut group = c.benchmark_group("selfhosted");
64-
// group.bench_function("native", |b| b.iter(run_native));
64+
group.bench_function("native", |b| b.iter(run_native));
6565
group.bench_function("tinywasm", |b| b.iter(|| run_tinywasm(black_box(TINYWASM))));
66-
// group.bench_function("wasmi", |b| b.iter(|| run_wasmi(black_box(TINYWASM))));
67-
// group.bench_function("wasmer", |b| b.iter(|| run_wasmer(black_box(TINYWASM))));
66+
group.bench_function("wasmi", |b| b.iter(|| run_wasmi(black_box(TINYWASM))));
67+
group.bench_function("wasmer", |b| b.iter(|| run_wasmer(black_box(TINYWASM))));
6868
}
6969
}
7070

crates/cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ argh="0.1"
1919
color-eyre={version="0.6", default-features=false}
2020
log="0.4"
2121
pretty_env_logger="0.5"
22-
wast={version="209.0", optional=true}
22+
wast={version="210.0", optional=true}
2323

2424
[features]
2525
default=["wat"]

crates/parser/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ authors.workspace=true
88
repository.workspace=true
99

1010
[dependencies]
11-
wasmparser={version="0.209", default-features=false, features=["validate"]}
11+
wasmparser={version="0.210", default-features=false, features=["validate"]}
1212
log={version="0.4", optional=true}
1313
tinywasm-types={version="0.7.0", path="../types", default-features=false}
1414

crates/parser/src/visit.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,9 @@ impl<'a> wasmparser::VisitOperator<'a> for FunctionBuilder {
126126
visit_global_set, Instruction::GlobalSet, u32,
127127
visit_i32_const, Instruction::I32Const, i32,
128128
visit_i64_const, Instruction::I64Const, i64,
129-
visit_call, Instruction::Call, u32
130-
}
131-
132-
define_primitive_operands! {
133-
visit_memory_size, Instruction::MemorySize, u32, u8,
134-
visit_memory_grow, Instruction::MemoryGrow, u32, u8
129+
visit_call, Instruction::Call, u32,
130+
visit_memory_size, Instruction::MemorySize, u32,
131+
visit_memory_grow, Instruction::MemoryGrow, u32
135132
}
136133

137134
define_mem_operands! {
@@ -482,7 +479,7 @@ impl<'a> wasmparser::VisitOperator<'a> for FunctionBuilder {
482479
self.instructions.extend(([Instruction::BrTable(def, instrs.len() as u32)].into_iter()).chain(instrs));
483480
}
484481

485-
fn visit_call_indirect(&mut self, ty: u32, table: u32, _table_byte: u8) -> Self::Output {
482+
fn visit_call_indirect(&mut self, ty: u32, table: u32) -> Self::Output {
486483
self.instructions.push(Instruction::CallIndirect(ty, table))
487484
}
488485

crates/tinywasm/src/instance.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use alloc::{boxed::Box, format, rc::Rc, string::ToString};
22
use tinywasm_types::*;
33

44
use crate::func::{FromWasmValueTuple, IntoWasmValueTuple};
5-
use crate::{Error, FuncHandle, FuncHandleTyped, Imports, MemoryRef, MemoryRefMut, Module, Result, Store};
5+
use crate::{Error, FuncHandle, FuncHandleTyped, GlobalRef, Imports, MemoryRef, MemoryRefMut, Module, Result, Store};
66

77
/// An instanciated WebAssembly module
88
///

crates/tinywasm/src/runtime/interpreter/mod.rs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ impl<'store, 'stack> Executor<'store, 'stack> {
8686
RefNull(_) => self.exec_const(-1i64),
8787
RefIsNull => self.exec_ref_is_null()?,
8888

89-
MemorySize(addr, byte) => self.exec_memory_size(*addr, *byte)?,
90-
MemoryGrow(addr, byte) => self.exec_memory_grow(*addr, *byte)?,
89+
MemorySize(addr) => self.exec_memory_size(*addr)?,
90+
MemoryGrow(addr) => self.exec_memory_grow(*addr)?,
9191

9292
// Bulk memory operations
9393
MemoryCopy(from, to) => self.exec_memory_copy(*from, *to)?,
@@ -542,28 +542,19 @@ impl<'store, 'stack> Executor<'store, 'stack> {
542542
self.stack.values.replace_top(|val| ((i32::from(val) == -1) as i32).into())
543543
}
544544

545-
fn exec_memory_size(&mut self, addr: u32, byte: u8) -> Result<()> {
546-
if unlikely(byte != 0) {
547-
return Err(Error::UnsupportedFeature("memory.size with byte != 0".to_string()));
548-
}
549-
545+
fn exec_memory_size(&mut self, addr: u32) -> Result<()> {
550546
let mem = self.store.get_mem(self.module.resolve_mem_addr(addr)?)?;
551547
self.stack.values.push((mem.borrow().page_count() as i32).into());
552548
Ok(())
553549
}
554-
fn exec_memory_grow(&mut self, addr: u32, byte: u8) -> Result<()> {
555-
if unlikely(byte != 0) {
556-
return Err(Error::UnsupportedFeature("memory.grow with byte != 0".to_string()));
557-
}
558-
550+
fn exec_memory_grow(&mut self, addr: u32) -> Result<()> {
559551
let mut mem = self.store.get_mem(self.module.resolve_mem_addr(addr)?)?.borrow_mut();
560552
let prev_size = mem.page_count() as i32;
561553
let pages_delta = self.stack.values.last_mut()?;
562554
*pages_delta = match mem.grow(i32::from(*pages_delta)) {
563555
Some(_) => prev_size.into(),
564556
None => (-1).into(),
565557
};
566-
567558
Ok(())
568559
}
569560

crates/tinywasm/src/store/table.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,14 +112,10 @@ impl TableInstance {
112112
let len = n as usize + self.elements.len();
113113
let max = self.kind.size_max.unwrap_or(MAX_TABLE_SIZE) as usize;
114114
if len > max {
115-
return Err(Error::Trap(crate::Trap::TableOutOfBounds {
116-
offset: len as usize,
117-
len: 1,
118-
max: self.elements.len(),
119-
}));
115+
return Err(Error::Trap(crate::Trap::TableOutOfBounds { offset: len, len: 1, max: self.elements.len() }));
120116
}
121117

122-
self.elements.resize(len as usize, init);
118+
self.elements.resize(len, init);
123119
Ok(())
124120
}
125121

0 commit comments

Comments
 (0)