feat(outbox): introduce the outbox state component#746
feat(outbox): introduce the outbox state component#746victor-dumitrescu merged 4 commits intomainfrom
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #746 +/- ##
==========================================
- Coverage 89.49% 89.49% -0.01%
==========================================
Files 109 110 +1
Lines 20769 20888 +119
Branches 20769 20888 +119
==========================================
+ Hits 18587 18693 +106
Misses 1803 1803
- Partials 379 392 +13 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
ce2d63a to
f2d9e37
Compare
|
Benchmark results for revision 8059e5e:
Full results
Compare the results above with those for the default branch. |
f2d9e37 to
d4a3bc0
Compare
Please investigate this performance regression. |
62bed94 to
60486f3
Compare
b10cbac to
d94f8f6
Compare
d94f8f6 to
d5e2976
Compare
While this result shows a regression, comparing the current results with the current I couldn't reproduce locally (M1 MBP). I tried having the outbox as the second field of |
d5e2976 to
5c28b75
Compare
5c28b75 to
81ffeab
Compare
Closes RV-868.
What
This MR introduces a new PVM state component for the outbox.
Why
We need to support the outbox functionality for the RISC-V PVM. The state of the outbox needs to be captured in state commitments.
How
The outbox is initially implemented as a fixed-size array of levels, each of which are in turn a fixed-size array of messages. Once dynamically sized arrays become available, the outbox will switch to use these instead.
The outbox is configured with a size, which is the number of levels for which it can store messages. This is so that a smaller outbox can be used for testing. The maximum number of messages per level and the maximum size of a message are outbox constants and not configurable by the PVM.
The outbox implements all the traits required to be added as a component of the PVM state. The initial interface for writing and reading messages is defined, but the functionality is not yet implemented.
Manually Testing
Regressions
Altering the PVM state structure results in changes to regressions.
Tasks for the Author