-
Notifications
You must be signed in to change notification settings - Fork 290
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: Sync from noir #11138
feat: Sync from noir #11138
Conversation
…eir trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
* master: (287 commits) feat: Sync from noir (#11051) chore(docs): Update tx concepts page (#10947) chore(docs): Edit Aztec.nr Guide section (#10866) chore: test:e2e defaults to no-docker (#10966) chore(avm): improve column stats (#11135) chore: Sanity checking of proving job IDs (#11134) feat: permutation argument optimizations (#10960) feat: single tx block root rollup (#11096) refactor: prover db config (#11126) feat: monitor event loop lag (#11127) chore: Greater stability at 1TPS (#10981) chore: Jest reporters for CI (#11125) fix: Sequencer times out L1 tx at end of L2 slot (#11112) feat: browser chunking (#11102) fix: Added start/stop guards to running promise and serial queue (#11120) fix: Don't retransmit txs upon node restart (#11123) fix: Prover node aborts execution at epoch end (#11111) feat: blob sink in sandbox without extra process (#11032) chore: log number of instructions executed for call in AVM. Misc fix. (#11110) git subrepo push --branch=master noir-projects/aztec-nr ...
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
…hem (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
…ng/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
@aakoshh we've got a few bytecde size regressions here. Can you take a look to see if they're new and interesting or similar to what we saw in |
I can't replicate the size difference 🙁 % git checkout 85d389fd8344f2a6cba04ab8d8bd577b9698a0ca ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
M noir/noir-repo/compiler/noirc_driver/src/lib.rs
Previous HEAD position was f93468ffbf Merge branch 'master' into sync-noir
HEAD is now at 85d389fd83 feat: Kickoff tube circuits at the beginning of proving job (#11139)
% cargo run -q --release -p nargo_cli -- --program-dir $PROGRAM_DIR compile --package token_contract --skip-underconstrained-check --skip-brillig-constraints-check --force --silence-warnings
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode | @base64d | length' 47s ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
44878
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode' | base64 --decode | wc ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
90 751 47749
% git merge f93468f ~/aztec-packages/noir/noir-repo sync-noir^2+ akosh-box
Updating 85d389fd83..f93468ffbf
Fast-forward
...
117 files changed, 1271 insertions(+), 794 deletions(-)
...
% cargo run -q --release -p nargo_cli -- --program-dir $PROGRAM_DIR compile --package token_contract --skip-underconstrained-check --skip-brillig-constraints-check --force --silence-warnings
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode | @base64d | length' ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
44929
% cat $PROGRAM_DIR/target/token_contract-Token.json | jq -r '.functions[] | select(.name=="public_dispatch") | .bytecode' | base64 --decode | wc ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
93 810 47749
% node $PROGRAM_DIR/scripts/publicFunctionsSizeReport.js $PROGRAM_DIR/target ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
Writing to public_functions_report.json
% cat public_functions_report.json | jq -r '.programs[] | select(.package_name=="Token::public_dispatch") | .unconstrained_functions[0].opcodes' ~/aztec-packages/noir/noir-repo heads/sync-noir+ akosh-box
47749 The byte code size is the same 🤷 |
chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
hmm, I'll have a look at this as well. |
@aakoshh your comment is showing a difference in bytecode size though? |
@ludamad I'm getting a strange new error on boxes-test here. Any idea what's up? |
…ang/noir#6985) feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938) chore: simplify a couple of enum variants (noir-lang/noir#7025) chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017) feat: unchecked math operations in SSA (noir-lang/noir#7011) chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
feat!: disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938) chore: simplify a couple of enum variants (noir-lang/noir#7025) chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017) feat: unchecked math operations in SSA (noir-lang/noir#7011) chore: delete docs for versions which aren't used (noir-lang/noir#7020) feat!: Disable mocks in `execute` (noir-lang/noir#6869) chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014) feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018) chore: Add more Field use info (noir-lang/noir#7019) fix: let static_assert fail with the provided message (noir-lang/noir#7005) chore: mark `aztec-nr` as expected to compile (noir-lang/noir#7015) chore: clarity fix in docs (noir-lang/noir#7016) fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913) feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901) feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003) chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999) feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008) chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007) chore: Only resolved globals monomorphization (noir-lang/noir#7006) chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004) chore: require safety doc comment for unsafe instead of `//@safety` (noir-lang/noir#6992) fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972) chore: mark casts as able to be deduplicated (noir-lang/noir#6996) fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989) chore(ci): fail properly in `external-repo-checks` (noir-lang/noir#6988) fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987) chore: Use DFG in SSA printer (noir-lang/noir#6986) chore!: Reserve `enum` and `match` keywords (noir-lang/noir#6961)
Automated pull of development from the noir programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: SSA globals in monomorphization and SSA gen (noir-lang/noir#6985)
feat!: disallow calling unconstrained functions outside of
unsafe
blocks and passing unconstrained functions in place of constrained functions (noir-lang/noir#6938)chore: simplify a couple of enum variants (noir-lang/noir#7025)
chore: disallow inserting ACIR-only instructions into brillig functions (noir-lang/noir#7017)
feat: unchecked math operations in SSA (noir-lang/noir#7011)
chore: delete docs for versions which aren't used (noir-lang/noir#7020)
feat!: Disable mocks in
execute
(noir-lang/noir#6869)chore(docs): backport 1.0.0-beta.0 doc fixes (noir-lang/noir#7014)
feat(cli): Add CLI option to filter by contract function name (noir-lang/noir#7018)
chore: Add more Field use info (noir-lang/noir#7019)
fix: let static_assert fail with the provided message (noir-lang/noir#7005)
chore: mark
aztec-nr
as expected to compile (noir-lang/noir#7015)chore: clarity fix in docs (noir-lang/noir#7016)
fix: require generic trait impls to be in scope to call them (noir-lang/noir#6913)
feat!: require trait primitive functions/calls to have their trait in scope (noir-lang/noir#6901)
feat(lsp): use trait method docs for trait impl method docs on hover (noir-lang/noir#7003)
chore: turn on averaging for protocol circuits metrics in CI (noir-lang/noir#6999)
feat(comptime): Implement to_be_bits and to_le_bits in the interpreter (noir-lang/noir#7008)
chore: Add short circuit in ssa-gen for known if conditions (noir-lang/noir#7007)
chore: Only resolved globals monomorphization (noir-lang/noir#7006)
chore: Remove resolve_is_unconstrained pass (noir-lang/noir#7004)
chore: require safety doc comment for unsafe instead of
//@safety
(noir-lang/noir#6992)fix: Reproduce and fix bytecode blowup (noir-lang/noir#6972)
chore: mark casts as able to be deduplicated (noir-lang/noir#6996)
fix: return trait impl method as FuncId if there's only one (noir-lang/noir#6989)
chore(ci): fail properly in
external-repo-checks
(noir-lang/noir#6988)fix: allow multiple trait impls for the same trait as long as one is in scope (noir-lang/noir#6987)
chore: Use DFG in SSA printer (noir-lang/noir#6986)
chore!: Reserve
enum
andmatch
keywords (noir-lang/noir#6961)END_COMMIT_OVERRIDE