Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
35acaee
feat(segment-caching): simple BitVecInlined wrapper for BitVec to sup…
bfdays Oct 6, 2025
2139ca9
chore: remove legacy folder (#59)
dmitry123 Oct 8, 2025
ee94444
feat(rwasm-optimisations): recycling for global memory; mmap support …
bfdays Oct 8, 2025
84d2b37
chore(deps): bump actions/checkout from 4 to 5 (#56)
dependabot[bot] Oct 8, 2025
8e6bfe4
chore(deps): bump dawidd6/action-download-artifact from 3 to 11 (#55)
dependabot[bot] Oct 8, 2025
7482706
chore: fix typo in benchmark
dmitry123 Oct 8, 2025
bcc771d
chore: remove eprintln for wasmtime
dmitry123 Oct 8, 2025
9890ab1
feat(rwasm-optimisation): turn on pooling-allocator; enable unix-memo…
bfdays Oct 14, 2025
7fced48
fix: don't store acquired call/value stack inside engine (#62)
dmitry123 Oct 14, 2025
8c9bc09
Revert "fix: don't store acquired call/value stack inside engine (#62…
dmitry123 Oct 15, 2025
b6259d6
fix: don't store acquired call/value stack inside engine (#64)
dmitry123 Oct 15, 2025
c9e69fe
fix(vm): fix missing stack recycle (#65)
dmitry123 Oct 15, 2025
99298f1
chore: tiny fixes for running tests
dmitry123 Oct 15, 2025
e525a3f
fix: default config for shared engine (#67)
dmitry123 Oct 16, 2025
c45710b
chore(deps): git wasmtime -> crates.io wasmtime-rwasm
d1r1 Oct 23, 2025
215b656
chore: rename rwasm -> fluent-rwasm
d1r1 Oct 23, 2025
f19c5b3
chore: update workspace dependencies to use fluent-rwasm package name
d1r1 Oct 23, 2025
599da3d
fix(tests): replace ExecutionEngine::new() with ::default()
d1r1 Oct 23, 2025
0e8be0b
ci: add automated crates.io publishing workflow
d1r1 Oct 23, 2025
0f06cd4
Merge pull request #69 from fluentlabs-xyz/chore/publish-crates-io
d1r1 Oct 23, 2025
715ab29
chore: add rwasm description
d1r1 Oct 23, 2025
3326d09
Revert: rollback to e525a3f1
d1r1 Oct 23, 2025
2506f9d
fix(vm): typo in grow_untyped (#76)
djadjka Nov 3, 2025
09459c3
Merge remote-tracking branch 'origin/devel' into fix/unix-memory
dmitry123 Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.event_name == 'push'
runs-on: ubuntu-amd64-8core
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run Criterion (save baseline "devel")
Expand Down Expand Up @@ -40,14 +40,14 @@ jobs:
contents: read
pull-requests: write # needed to comment on PRs (won’t work for forks; see note below)
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2

# Try to fetch the latest successful baseline from devel
- name: Download baseline from devel
id: dl
uses: dawidd6/action-download-artifact@v3
uses: dawidd6/action-download-artifact@v11
continue-on-error: true # allow first PRs without a baseline
with:
workflow: bench.yml
Expand Down
13 changes: 11 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 15 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,25 @@ libm = "0.2.1"
smallvec = "1.15.0"
num-derive = "0.4.2"
spin = "0.10.0"
fnv = { version = "1.0.7", default-features = false }

# tracing
serde = { version = "1.0.219", features = ["derive"], optional = true }

# wasmtime
wasmtime = { version = "34.0.1", package = "wasmtime-rwasm", optional = true, features = ["disable-fpu", "cache"] }
#wasmtime = { path = "../wasmtime/crates/wasmtime", optional = true, features = ["disable-fpu", "cache"] }

anyhow = { version = "1.0.98", default-features = false, optional = true }
directories = { version = "6.0.0", optional = true }
futures = { version = "0.3.31", optional = true }
cfg-if = "1.0.4"

# wasmi
wasmi = { version = "0.47.0", default-features = false }

# unix-memory
libc = { version = "0.2.172", default-features = false, features = ["align", "extra_traits", "const-extern-fn"], optional = true }

[dev-dependencies]
rand = "0.9.1"
wat = "1.230.0"
Expand All @@ -53,14 +57,23 @@ std = [
"num-traits/std",
"bitvec/std",
"wasmtime?/std",
"unix-memory",
"pooling-allocator",
]
more-max-pages = []
serde = [
"dep:serde", "serde/derive"
]
tracing = ["serde"]
debug-print = []
test-build = []
debug-print = ["std"]
fpu = []
wasmtime = ["dep:wasmtime", "dep:anyhow", "dep:futures"]
cache-compiled-artifacts = ["wasmtime", "dep:directories"]
pooling-allocator = []
unix-memory = ["dep:libc"]

[[test]]
name = "integration"
path = "tests/snippets.rs"
required-features = ["test-build"]
13 changes: 10 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ test-specific-cases:
cd wasm && make
cd snippets && make
# run tests
cargo test --color=always --no-fail-fast --manifest-path Cargo.toml
cargo test --color=always --no-fail-fast --manifest-path e2e/Cargo.toml
cargo test --color=always --no-fail-fast --manifest-path Cargo.toml --no-default-features --features=std,wasmtime
cargo test --color=always --no-fail-fast --manifest-path Cargo.toml --no-default-features --features=std,wasmtime,unix-memory
cargo test --color=always --no-fail-fast --manifest-path e2e/Cargo.toml --no-default-features --features=std,wasmtime
cargo test --color=always --no-fail-fast --manifest-path e2e/Cargo.toml --no-default-features --features=std,wasmtime,unix-memory
cargo +nightly-2025-09-20 test --color=always --no-fail-fast --manifest-path snippets/Cargo.toml
# run nitro test (with release flag)
cargo test --release --package rwasm --test nitro-verifier test_nitro_verifier -- --ignored
cargo test --release --package rwasm --test nitro-verifier test_nitro_verifier --no-default-features --features=std,wasmtime -- --ignored
cargo test --release --package rwasm --test nitro-verifier test_nitro_verifier --no-default-features --features=std,wasmtime,unix-memory -- --ignored

.PHONY: coverage
coverage:
Expand All @@ -31,4 +34,8 @@ clean:
# Delete all Cargo.lock files except the root
find . -name Cargo.lock ! -path './Cargo.lock' -type f -exec rm -f {} +

.PHONY: test
test:
cargo test

all: test-specific-cases
2 changes: 1 addition & 1 deletion benchmarks/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
target
Cargo.lock
lib.wat
lib.wasm
lib.wasm
40 changes: 35 additions & 5 deletions benchmarks/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,42 @@ debug-assertions = false
rpath = false
codegen-units = 1

[dependencies]
criterion = { version = "0.7.0", default-features = false, features = [] }

[dev-dependencies]
criterion = { version = "0.7.0", default-features = false, features = [] }
rwasm = { path = "..", features = ["std", "wasmtime"] }
rand = { version = "0.9.2" }
wat = "1.230.0"
bitvec = { version = "1.0.1", default-features = false, features = ["alloc"] }
revm-interpreter = "25.0.3"
revm-bytecode = "6.2.2"
hex-literal = "1.0.0"

[[bench]]
name = "bench"
harness = false
name = "bitvec"
harness = false

[[bench]]
name = "compilation"
harness = false

[[bench]]
name = "fib32"
harness = false

[[bench]]
name = "fib64"
harness = false

[[bench]]
name = "fib256"
harness = false

[[bench]]
name = "parsing"
harness = false

[dependencies]
alloy-primitives = { version = "1.4.0", default-features = false }

[features]
default = ["rwasm/unix-memory"]
4 changes: 2 additions & 2 deletions benchmarks/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.PHONY: build
build:
RUSTFLAGS="-C link-arg=-zstack-size=0" cargo b --target=wasm32-unknown-unknown --release --no-default-features
RUSTFLAGS="-C link-arg=-zstack-size=1024" cargo b --target-dir=./target --target=wasm32-unknown-unknown --release --no-default-features
cp ./target/wasm32-unknown-unknown/release/fib.wasm ./lib.wasm
wasm2wat ./lib.wasm > ./lib.wat || true
wasm2wat ./lib.wasm > ./lib.wat || true
98 changes: 0 additions & 98 deletions benchmarks/benches/bench.rs

This file was deleted.

Loading
Loading