RISC-V: Add support for EnrichedCell in the proof-generating backend
Closes RV-325.
What
This MR adds support for EnrichedCell in the proof-generating backend.
Why
Required for a fully-functioning implementation of the proof-generating backend.
How
Building on the changes in !15816 (merged), the implementation is quite straightforward. The wrapping ProofEnrichedCell keeps the underlying enriched cell, an access log (same as for proof regions) and a written value log which intercepts writes. Only the stored value is kept in the write log — when reading, the stored value is retrieved from the log and its corresponding derived value is computed.
Manually Testing
make -C src/riscv all
Benchmarking
This MR does not touch the interpreter so it should not impact performance.
Tasks for the Author
-
Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes). -
Eliminate dead code and other spurious artefacts introduced in your changes. -
Document new public functions, methods and types. -
Make sure the documentation for updated functions, methods, and types is correct. -
Add tests for bugs that have been fixed. -
Put in reasonable effort to ensure that CI will pass. make -C src/riscvdune build src/lib_riscvdune build src/rust_deps
-
Benchmark performance and populate the table above if needed. -
Write commit messages to reflect the changes they're about. -
Self-review your changes to ensure they are high-quality. -
Complete all of the above before assigning this MR to reviewers.
Edited by Victor Dumitrescu