RISC-V: Initialise Buddy branch correctly
Closes RV-568
Stacked MRs
- RISC-V: Initialise Buddy branch correctly (!17570 - merged) (you are here)
- RISC-V: Abolish `allocate` on `Layouts` (!17566 - merged)
- RISC-V: Prefer `new` over `allocate` with `bind` (!17569 - merged)
- RISC-V: New state allocation and initialisation... (!17567 - merged)
What
Uses the new allocation+initialisation mechanism introduced in !17567 (merged). This allows us to remove the deep_refresh helper method which was previously required in the absence of a "full" allocation (this has the same effect as deep_refresh).
Why
This achieves correctness in the "correct by construction" sense. In other words, you create a new state, it is properly initialised and there are no pitfalls with regards to its use.
Manually Testing
cargo test --lib buddy
Benchmarking
Runtime performance is unchanged.
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. -
Explain changes to regression test captures when applicable. -
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 Ole Krüger