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

[SyncWith:zkllvm#438] Memory model v2 #199

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

Conversation

aleasims
Copy link
Contributor

@aleasims aleasims commented Mar 1, 2024

This PR implements new memory model described in RFC: Assigner memory model v2.

Changes made to assigner itself are pretty significant and made in a separate commit. Other commits are organized by files they changed, so they can be reviewed one by one.

Apart from changes related to new memory model, some other tiny changes were made:

  • Added return_value field to assigner, where the return value of circuit function should be stored at the end of evaluation. I made it with std::vector<BlueprintFieldType::integral_value>, so non-native fields may be unmarshalled into it and stored as a single value.

@aleasims aleasims self-assigned this Mar 1, 2024
@aleasims aleasims linked an issue Mar 1, 2024 that may be closed by this pull request
aleasims added a commit to NilFoundation/zkLLVM that referenced this pull request Mar 1, 2024
Changes:
* Move to memory model v2 (see NilFoundation/zkllvm-assigner#199)
@aleasims aleasims force-pushed the 172-memory-model-v2 branch from bbfdf73 to dafcab1 Compare March 1, 2024 12:17
aleasims added a commit to NilFoundation/zkLLVM that referenced this pull request Mar 1, 2024
Changes:
* Move to memory model v2 (see NilFoundation/zkllvm-assigner#199)
@aleasims aleasims force-pushed the 172-memory-model-v2 branch 3 times, most recently from 171b1e3 to 4145006 Compare March 4, 2024 20:25
@aleasims aleasims changed the title Memory model v2 [SyncWith:zkllvm#438] Memory model v2 Mar 4, 2024
@aleasims aleasims force-pushed the 172-memory-model-v2 branch from 4145006 to f619cfe Compare March 4, 2024 20:31
@nil-foundation-cicd-bot
Copy link

Tests will be run in sync with other PRs containing [SyncWith NilFoundation/zkLLVM#438] in title. You can find related PRs as linked with mentioned issue.

aleasims added a commit to NilFoundation/zkLLVM that referenced this pull request Mar 4, 2024
Changes:
* Move to memory model v2 (see NilFoundation/zkllvm-assigner#199)
@aleasims aleasims force-pushed the 172-memory-model-v2 branch 3 times, most recently from ba53f46 to 0d78ec1 Compare March 13, 2024 11:54
@aleasims aleasims force-pushed the 172-memory-model-v2 branch 5 times, most recently from 31d8ecd to 1a88ca5 Compare March 27, 2024 15:05
`LayoutResolver` is moved into `mem` module as well. For added implementations
some unit tests are added.
This commit contains changes only in assigner itself. Other components are
still unmodified, so build will fail.
This commit contains a bunch of similar changes in different files,
required to move to new memory.
@aleasims aleasims force-pushed the 172-memory-model-v2 branch from 1a88ca5 to 316a765 Compare March 27, 2024 18:22
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.

Memory model v2
1 participant