RISC-V: Linearize rollup node
What
Linearizes the use of the pvm state in the rollup node for the transition_pvm function.
Part of RV-113
Closes RV-190
Note: Reviews should focus on the correctness of the usage of state in a linear manner, i.e. a reference to the pvm state should be used only once in a mutable function. (read-only functions do not "move" the state)
Why
Having a linear usage of the state will enable optimum usage of move semantics in the RISC-V PVM backend, thus heavily reducing state duplication at runtime.
How
Reorders calls to get_ticks & others that are using the pvm state, so all functions use only the "latest"/"current" version of the state.
Manually testing the MR
make octez-make octez-smart-rollup-node octez-layer1
dune exec tezt/tests/main.exe -- --file sc_rollup.ml
dune exec ./tezt/tests/main.exe -- riscv
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Felix Puscasu