ref-fvm
ref-fvm copied to clipboard
Reference implementation of the Filecoin Virtual Machine
Importantly, this reverts a previous wasmtime change that enabled trace-logging in regalloc, massively slowing down compilation across all FVM versions. fixes #2058
We've seen a reported performance regression that appears to be associated with the wasmtime update that happened in FVM 4.4 (wasmtime 19 -> 24). This was an interesting performance regression...
Benchmarking wasmtime 24 v wasmtime 19, it looks like invoking smart contracts may have gotten cheaper. The data I have is pretty fuzzy but it may be as much as...
When testing the new randomness syscall (implemented in built-in actors), which allows the caller to specify the epoch, @ZenGround0 received an out-of-gas when using an epoch from the future. The...
This PR refactors the AMT mplementation by replacing internal iteration via `for_each_mut` with external iteration using `iter_mut` and adds a test case showing the use case of the `iter_mut` function...
This switches from async rust to using rayon for conformance test parallelism. I'm making this PR against FVM v3 because we currently have conformance tests there. **Motivation**: - Primary: Remove...
It has been deprecated and we only use it in the bundler and the conformance tests, and only there because we inherited it from the car library we pulled from...
Currently, the FVM references wasm modules directly on-chain as raw-blobs. However, this doesn't leave any room for additional metadata. Ideally, we'd add a new multicodec for "wasm" code so we...
We have fuzzers for the KAMT, HAMT, and AMT but these fuzzers only test set/get/remove/flush. Importantly, they don't test: 1. Flush and reload from CID (just periodic flushes). 2. `set_root`....
Specifically, `wasmtime::Config::table_lazy_init`. We can now turn this off for slower startup time but potentially faster execution time. But we need to make sure that doesn't affect our module instantation timing....