-
Notifications
You must be signed in to change notification settings - Fork 12
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: remove interior mutability #94
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hero78119
approved these changes
Jul 31, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and thanks for the effort!
dreamATD
approved these changes
Aug 2, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, we can merge it after @iammadab fixes some small comments.
dreamATD
pushed a commit
that referenced
this pull request
Aug 7, 2024
* confirm const across file impl * implement try from cell_id's to uint * add test for uint from cell ids * add documentation * document N_OPERAND_CELLS constant * wip * test cell repacking * add documentation * update packing test, ensure remaining values are 0s * add more uint instantiation methods * add test placeholders * sketch base plan for cmp * implement and test pad cells * modify from_range and from_bytes to use cell padding * extract logic for uint from arbitrary cell_width to make from_range and from_bytes easier * add compile time evaluated min function * introduce new constant cleans up uint_from* * update uint from cell id test to test greater than N_OPERANDS * add test for uint from different sized cells * implement add_unsafe * add functions sketch * wip * all func * building * test compiling * use range checker * refactor constants second pass * document cmp * wip * arithmetic second pass * delete old uint * refactor arithmetic * fix documentation * add test for add * test add constant unsafe * add test for add_small_unsafe * implement handle borrow * test sub_unsafe * rename add_small to add_cell * wip * change uint mod management * setup structure for namespacing constants * refactor counter vector implementation * introduce difference * define ram and rom structures * potential bug * rom phase 1 * rename * implement oam handler phase 1 * implement ram handler phase 1 * bytecode chip attempt 1 * implement call data records builder p1 * implement global state chip record generator p1 * implement memory chip record generator * implement stack chip record generator p1 * wip * util method for cell to mixed * start work on range chip * wip * document range check uint * clean up range check uint * remove range_chip_bit_width injection * move non-zero * add interior mutability to range chip * add interior mutability to bytecode * add interior mutability to call data chip * add interior mutability to memory chip * add interior mutability to stack * ram handler using single source oam handler * update signer utils * big wip * fix singer compile errors * fix compile errors * delete old chip handler * cleanup * merge oam handler with ram handler * fmt * remove random 7 comments * feat: remove interior mutability (#94) * define chip handler structure * fix calldata chip * fix global state chip * fix memory chip * fix uint arithmetic unit * fix range chip * fix stack chip * fix uint cmp * fix singer-utils chips * fix add instruction * fix calldata chip * fix dup instruction * fix jum and jumpdest * fix jumpi instruction * fix mstore + pop instruction * fix push instruction * fix ret instruction * fix swap instruction * fix pro add instruction * fix pro calldata instruction * fix pro gt instruction * fix jumpi inst pro * fix pro mstore inst * fix pro ret instruction * fix bb_final * fix bb_ret * fix bb_start * fix gt inst * tests passing * fix constant generation: use max_cell_bit instead of C for computations * cleanup * resolve pr commenets
This was referenced Aug 7, 2024
yczhangsjtu
pushed a commit
that referenced
this pull request
Aug 12, 2024
* confirm const across file impl * implement try from cell_id's to uint * add test for uint from cell ids * add documentation * document N_OPERAND_CELLS constant * wip * test cell repacking * add documentation * update packing test, ensure remaining values are 0s * add more uint instantiation methods * add test placeholders * sketch base plan for cmp * implement and test pad cells * modify from_range and from_bytes to use cell padding * extract logic for uint from arbitrary cell_width to make from_range and from_bytes easier * add compile time evaluated min function * introduce new constant cleans up uint_from* * update uint from cell id test to test greater than N_OPERANDS * add test for uint from different sized cells * implement add_unsafe * add functions sketch * wip * all func * building * test compiling * use range checker * refactor constants second pass * document cmp * wip * arithmetic second pass * delete old uint * refactor arithmetic * fix documentation * add test for add * test add constant unsafe * add test for add_small_unsafe * implement handle borrow * test sub_unsafe * rename add_small to add_cell * wip * change uint mod management * setup structure for namespacing constants * refactor counter vector implementation * introduce difference * define ram and rom structures * potential bug * rom phase 1 * rename * implement oam handler phase 1 * implement ram handler phase 1 * bytecode chip attempt 1 * implement call data records builder p1 * implement global state chip record generator p1 * implement memory chip record generator * implement stack chip record generator p1 * wip * util method for cell to mixed * start work on range chip * wip * document range check uint * clean up range check uint * remove range_chip_bit_width injection * move non-zero * add interior mutability to range chip * add interior mutability to bytecode * add interior mutability to call data chip * add interior mutability to memory chip * add interior mutability to stack * ram handler using single source oam handler * update signer utils * big wip * fix singer compile errors * fix compile errors * delete old chip handler * cleanup * merge oam handler with ram handler * fmt * remove random 7 comments * feat: remove interior mutability (#94) * define chip handler structure * fix calldata chip * fix global state chip * fix memory chip * fix uint arithmetic unit * fix range chip * fix stack chip * fix uint cmp * fix singer-utils chips * fix add instruction * fix calldata chip * fix dup instruction * fix jum and jumpdest * fix jumpi instruction * fix mstore + pop instruction * fix push instruction * fix ret instruction * fix swap instruction * fix pro add instruction * fix pro calldata instruction * fix pro gt instruction * fix jumpi inst pro * fix pro mstore inst * fix pro ret instruction * fix bb_final * fix bb_ret * fix bb_start * fix gt inst * tests passing * fix constant generation: use max_cell_bit instead of C for computations * cleanup * resolve pr commenets
hero78119
pushed a commit
that referenced
this pull request
Sep 30, 2024
* confirm const across file impl * implement try from cell_id's to uint * add test for uint from cell ids * add documentation * document N_OPERAND_CELLS constant * wip * test cell repacking * add documentation * update packing test, ensure remaining values are 0s * add more uint instantiation methods * add test placeholders * sketch base plan for cmp * implement and test pad cells * modify from_range and from_bytes to use cell padding * extract logic for uint from arbitrary cell_width to make from_range and from_bytes easier * add compile time evaluated min function * introduce new constant cleans up uint_from* * update uint from cell id test to test greater than N_OPERANDS * add test for uint from different sized cells * implement add_unsafe * add functions sketch * wip * all func * building * test compiling * use range checker * refactor constants second pass * document cmp * wip * arithmetic second pass * delete old uint * refactor arithmetic * fix documentation * add test for add * test add constant unsafe * add test for add_small_unsafe * implement handle borrow * test sub_unsafe * rename add_small to add_cell * wip * change uint mod management * setup structure for namespacing constants * refactor counter vector implementation * introduce difference * define ram and rom structures * potential bug * rom phase 1 * rename * implement oam handler phase 1 * implement ram handler phase 1 * bytecode chip attempt 1 * implement call data records builder p1 * implement global state chip record generator p1 * implement memory chip record generator * implement stack chip record generator p1 * wip * util method for cell to mixed * start work on range chip * wip * document range check uint * clean up range check uint * remove range_chip_bit_width injection * move non-zero * add interior mutability to range chip * add interior mutability to bytecode * add interior mutability to call data chip * add interior mutability to memory chip * add interior mutability to stack * ram handler using single source oam handler * update signer utils * big wip * fix singer compile errors * fix compile errors * delete old chip handler * cleanup * merge oam handler with ram handler * fmt * remove random 7 comments * feat: remove interior mutability (#94) * define chip handler structure * fix calldata chip * fix global state chip * fix memory chip * fix uint arithmetic unit * fix range chip * fix stack chip * fix uint cmp * fix singer-utils chips * fix add instruction * fix calldata chip * fix dup instruction * fix jum and jumpdest * fix jumpi instruction * fix mstore + pop instruction * fix push instruction * fix ret instruction * fix swap instruction * fix pro add instruction * fix pro calldata instruction * fix pro gt instruction * fix jumpi inst pro * fix pro mstore inst * fix pro ret instruction * fix bb_final * fix bb_ret * fix bb_start * fix gt inst * tests passing * fix constant generation: use max_cell_bit instead of C for computations * cleanup * resolve pr commenets
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Removes interior mutability hack introduced in #80, and closes #87.
Also resolves the issue described in #86, see commit