-
Notifications
You must be signed in to change notification settings - Fork 200
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Copy on write optimization for brillig (#3522)
* Add element type to Type::Reference * Add inc_rc instruction * Add inc_rc instructions to ssa programs * Implement inc_rc in brillig * Implement copy on write optimization in brillig * Refactor sections * Fix initial reference count * Add reference count to extract_registers * Remove dbg panic * Cleanup branch_instruction * Start refactor to store rc in the first element of the array * Add reference type to tests * revert: set brillig gen to master * wip: refactor brillig variable vs registerormemory * feat: cow optimization * test: restore slice tests * refactor: typed references * test: working on fixing entry point tests * test: fix entry point tests * test: fix dfg test * fix: remove safety check and address todos * docs: variable naming and comments * chore: formatting * revert: cargo lock * fix: Fix remaining issues in Brillig's copy on write arrays (#3593) * Remove todo by going with new approach to Rc * Very important commit: fix typo * fix: make toBits accept arrays and add test * fix: always codegen inc_rc * IncrementRC has no side effects? * Special case inc_rc instead * IncRc is actually an even more special case of DIE. Also mark Value::Params as used * Remove abbreviation --------- Co-authored-by: sirasistant <sirasistant@gmail.com> --------- Co-authored-by: Jake Fecher <jfecher11@gmail.com> Co-authored-by: Jake Fecher <jake@aztecprotocol.com>
- Loading branch information
1 parent
1b5db48
commit da29c02
Showing
25 changed files
with
1,016 additions
and
447 deletions.
There are no files selected for viewing
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
Oops, something went wrong.