Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/word addressable memory #509

Merged
merged 13 commits into from
Nov 22, 2024
Merged

Feat/word addressable memory #509

merged 13 commits into from
Nov 22, 2024

Conversation

moodlezoup
Copy link
Collaborator

@moodlezoup moodlezoup commented Nov 21, 2024

Implements "word-addressable" memory for Jolt.

The RISC-V VM spec itself doesn't disallow access to unaligned memory addresses, but notes that implementations may only support aligned memory accesses. In this PR, we add constraints to enforce aligned loads/stores. This allows us to replace halfword and byte loads/stores (i.e. SB, SH, LB, LBU, LH, LHU) with "virtual sequences" (similar to those we use for division/remainder instructions) which emulate their behavior using a combination of bitops and SW/LW.

This improves prover performance and simplifies the code significantly.

Will update docs in a follow-up PR.

@wiz-a16z
Copy link

wiz-a16z bot commented Nov 21, 2024

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities 4 Info
Data Finding Sensitive Data
Secret Finding Secrets
IaC Misconfiguration IaC Misconfigurations
Total 4 Info

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@moodlezoup moodlezoup marked this pull request as ready for review November 22, 2024 19:20
@moodlezoup moodlezoup merged commit dd9e5c4 into main Nov 22, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant