-
Notifications
You must be signed in to change notification settings - Fork 213
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: Track stack frames and their variables in the debugger #4188
Conversation
Debug locations are filtered before invoking this function
Also move code mapping source to opcodes into debugging context.
3c75265
to
fc4e196
Compare
And add documentation re: handling multiple DebugInfo when debugging contracts
To improve readability, instead of passing an optional to walk_scope.
c387125
to
3d392d2
Compare
Thank you for your contribution to the Noir language. Please do not force push to this branch after the Noir team have started review of this PR. Doing so will only delay us merging your PR as we will need to start the review process from scratch. Thanks for your understanding. |
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.
Thank you! Sorry for the delay on this.
…isibility-hardcoding * tf/replace-function-vis-with-module-vis: fix: Allow type aliases in main (#4505) chore: add `ModuleDeclaration` struct (#4512) fix: Force src impl for == on slices (#4507) chore: pass `import_directive` by reference (#4511) feat: Track stack frames and their variables in the debugger (#4188) chore: add regression test for issue 4449 (#4503) chore: pass macro processors by reference (#4501) chore: bump bb to 0.26.3 (#4488) fix: handling of gh deps in noir_wasm (#4499) fix: iterative flattening pass (#4492)
…oir-lang/noir#4472) chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496) chore: Add HashMap docs (noir-lang/noir#4457) chore: custom hash for eddsa (noir-lang/noir#4440) chore: update various dependencies (noir-lang/noir#4513) fix: Allow type aliases in main (noir-lang/noir#4505) chore: add `ModuleDeclaration` struct (noir-lang/noir#4512) fix: Force src impl for == on slices (noir-lang/noir#4507) chore: pass `import_directive` by reference (noir-lang/noir#4511) feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188) chore: add regression test for issue 4449 (noir-lang/noir#4503) chore: pass macro processors by reference (noir-lang/noir#4501) chore: bump bb to 0.26.3 (noir-lang/noir#4488) fix: handling of gh deps in noir_wasm (noir-lang/noir#4499) fix: iterative flattening pass (noir-lang/noir#4492) chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (noir-lang/noir#4486) feat: run tests in parallel in `nargo test` (noir-lang/noir#4484)
🤖 I have created a release *beep* *boop* --- <details><summary>0.25.0</summary> ## [0.25.0](v0.24.0...v0.25.0) (2024-03-11) ### ⚠ BREAKING CHANGES * Internal as a macro (AztecProtocol/aztec-packages#4898) * reserve `unchecked` keyword ([#4432](#4432)) * Remove empty value from bounded vec ([#4431](#4431)) * Ban Fields in for loop indices and bitwise ops ([#4376](#4376)) * bump msrv to 1.73.0 ([#4406](#4406)) * **ci:** Bump MSRV to 1.72.1 and enforce that ACVM can be published using updated lockfile ([#4385](#4385)) * Restrict bit sizes ([#4235](#4235)) * move noir out of yarn-project (AztecProtocol/aztec-packages#4479) * note type ids (AztecProtocol/aztec-packages#4500) ### Features * Add eddsa_poseidon_to_pub function to stdlib with test + docs ([#4473](#4473)) ([00d2c32](00d2c32)) * Add HashMap to the stdlib ([#4242](#4242)) ([650ffc5](650ffc5)) * Add option to set max memory for bb.js ([#4227](#4227)) ([8a6b131](8a6b131)) * Add overflow and underflow checks for unsigned integers in brillig ([#4445](#4445)) ([21fc4b8](21fc4b8)) * Add poseidon2 opcode implementation for acvm/brillig, and Noir ([#4398](#4398)) ([10e8292](10e8292)) * Added cast opcode and cast calldata (AztecProtocol/aztec-packages#4423) ([78ef013](78ef013)) * Allow type aliases to reference other aliases ([#4353](#4353)) ([c44ef14](c44ef14)) * Backpropagate constants in ACIR during optimization ([#3926](#3926)) ([aad0da0](aad0da0)) * **ci:** Use wasm-opt when compiling wasm packages ([#4334](#4334)) ([e382921](e382921)) * DAP Preflight and debugger compilation options ([#4185](#4185)) ([e0ad0b2](e0ad0b2)) * Expose separate functions to compile programs vs contracts in `noir_wasm` ([#4413](#4413)) ([7cd5fdb](7cd5fdb)) * Internal as a macro (AztecProtocol/aztec-packages#4898) ([5f57ebb](5f57ebb)) * Note type ids (AztecProtocol/aztec-packages#4500) ([78ef013](78ef013)) * Restrict bit sizes ([#4235](#4235)) ([1048f81](1048f81)) * Run tests in parallel in `nargo test` ([#4484](#4484)) ([761734e](761734e)) * Skip redundant range checks in brillig ([#4460](#4460)) ([cb4c1c5](cb4c1c5)) * Sync from aztec-packages ([#4483](#4483)) ([fe8f277](fe8f277)) * Track stack frames and their variables in the debugger ([#4188](#4188)) ([ae1a9d9](ae1a9d9)) * TypeVariableKind for just Integers ([#4118](#4118)) ([c956be8](c956be8)) * Update error message when trying to load workspace as dependency ([#4393](#4393)) ([d2585e7](d2585e7)) ### Bug Fixes * **acir:** Array dynamic flatten ([#4351](#4351)) ([b2aaeab](b2aaeab)) * **acir:** Use types on dynamic arrays ([#4364](#4364)) ([ba2c541](ba2c541)) * Add `follow_bindings` to follow `Type::Alias` links ([#4521](#4521)) ([b94adb9](b94adb9)) * Add handling to `noir_wasm` for projects without dependencies ([#4344](#4344)) ([4982251](4982251)) * Allow type aliases in main ([#4505](#4505)) ([8a5359c](8a5359c)) * Ban Fields in for loop indices and bitwise ops ([#4376](#4376)) ([601fd9a](601fd9a)) * Brillig range check with consistent bit size ([#4357](#4357)) ([ea47d4a](ea47d4a)) * Build noir_codegen when publishing ([#4448](#4448)) ([cb1ceee](cb1ceee)) * Consistent bit size for truncate ([#4370](#4370)) ([dcd7a1e](dcd7a1e)) * Correct formatting for databus visibility types ([#4423](#4423)) ([cd796de](cd796de)) * Correct invalid brillig codegen for `EmbeddedCurvePoint.add` ([#4382](#4382)) ([5051ec4](5051ec4)) * **docs:** Update install versions ([#4396](#4396)) ([b283637](b283637)) * **docs:** Update noirjs_app for 0.23 ([#4378](#4378)) ([f77f702](f77f702)) * Enforce matching types of binary ops in SSA ([#4391](#4391)) ([70866ae](70866ae)) * Fix brillig slowdown when assigning arrays in loops ([#4472](#4472)) ([2a53545](2a53545)) * **flake:** Stop flake.nix removing ignored-tests.txt ([#4455](#4455)) ([ebaf05a](ebaf05a)) * Force src impl for == on slices ([#4507](#4507)) ([1691274](1691274)) * Handling of gh deps in noir_wasm ([#4499](#4499)) ([1d65370](1d65370)) * Iterative flattening pass ([#4492](#4492)) ([33c1ef7](33c1ef7)) * Noir test incorrect reporting (AztecProtocol/aztec-packages#4925) ([5f57ebb](5f57ebb)) * Only add `.nr` files to file manager ([#4380](#4380)) ([8536c7c](8536c7c)) * Remove panic when generic array length is not resolvable ([#4408](#4408)) ([00ab3db](00ab3db)) * Remove print from monomorphization pass ([#4417](#4417)) ([27c66b3](27c66b3)) * **ssa:** Handle mergers of slices returned from calls ([#4496](#4496)) ([f988d02](f988d02)) * Use correct type for numeric generics ([#4386](#4386)) ([0a1d109](0a1d109)) * Variables from trait constraints being permanently bound over when used within a trait impl ([#4450](#4450)) ([ac60ef5](ac60ef5)) ### Miscellaneous Chores * Bump msrv to 1.73.0 ([#4406](#4406)) ([b5e5c30](b5e5c30)) * **ci:** Bump MSRV to 1.72.1 and enforce that ACVM can be published using updated lockfile ([#4385](#4385)) ([2fc95d2](2fc95d2)) * Move noir out of yarn-project (AztecProtocol/aztec-packages#4479) ([78ef013](78ef013)) * Remove empty value from bounded vec ([#4431](#4431)) ([b9384fb](b9384fb)) * Reserve `unchecked` keyword ([#4432](#4432)) ([9544813](9544813)) </details> <details><summary>0.41.0</summary> ## [0.41.0](v0.40.0...v0.41.0) (2024-03-11) ### ⚠ BREAKING CHANGES * Internal as a macro (AztecProtocol/aztec-packages#4898) * move noir out of yarn-project (AztecProtocol/aztec-packages#4479) * note type ids (AztecProtocol/aztec-packages#4500) * rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) * Add expression width into acir (AztecProtocol/aztec-packages#4014) * init storage macro (AztecProtocol/aztec-packages#4200) * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) * Sync commits from `aztec-packages` ([#4144](#4144)) * Breaking changes from aztec-packages ([#3955](#3955)) * Rename Arithmetic opcode to AssertZero ([#3840](#3840)) * Remove unused methods on ACIR opcodes ([#3841](#3841)) * Remove partial backend feature ([#3805](#3805)) ### Features * Add bit size to const opcode (AztecProtocol/aztec-packages#4385) ([158c8ce](158c8ce)) * Add expression width into acir (AztecProtocol/aztec-packages#4014) ([158c8ce](158c8ce)) * Add instrumentation for tracking variables in debugging ([#4122](#4122)) ([c58d691](c58d691)) * Add poseidon2 opcode implementation for acvm/brillig, and Noir ([#4398](#4398)) ([10e8292](10e8292)) * Add support for overriding expression width ([#4117](#4117)) ([c8026d5](c8026d5)) * Added cast opcode and cast calldata (AztecProtocol/aztec-packages#4423) ([78ef013](78ef013)) * Allow brillig to read arrays directly from memory (AztecProtocol/aztec-packages#4460) ([158c8ce](158c8ce)) * Allow nested arrays and vectors in Brillig foreign calls (AztecProtocol/aztec-packages#4478) ([158c8ce](158c8ce)) * Allow variables and stack trace inspection in the debugger ([#4184](#4184)) ([bf263fc](bf263fc)) * **avm:** Back in avm context with macro - refactor context (AztecProtocol/aztec-packages#4438) ([158c8ce](158c8ce)) * **aztec-nr:** Initial work for aztec public vm macro (AztecProtocol/aztec-packages#4400) ([158c8ce](158c8ce)) * Aztec-packages ([#3754](#3754)) ([c043265](c043265)) * Backpropagate constants in ACIR during optimization ([#3926](#3926)) ([aad0da0](aad0da0)) * Breaking changes from aztec-packages ([#3955](#3955)) ([5be049e](5be049e)) * Evaluation of dynamic assert messages ([#4101](#4101)) ([c284e01](c284e01)) * Init storage macro (AztecProtocol/aztec-packages#4200) ([158c8ce](158c8ce)) * Internal as a macro (AztecProtocol/aztec-packages#4898) ([5f57ebb](5f57ebb)) * Note type ids (AztecProtocol/aztec-packages#4500) ([78ef013](78ef013)) * Remove range constraints from witnesses which are constrained to be constants ([#3928](#3928)) ([afe9c7a](afe9c7a)) * Remove replacement of boolean range opcodes with `AssertZero` opcodes ([#4107](#4107)) ([dac0e87](dac0e87)) * Speed up transformation of debug messages ([#3815](#3815)) ([2a8af1e](2a8af1e)) * Sync `aztec-packages` ([#4011](#4011)) ([fee2452](fee2452)) * Sync commits from `aztec-packages` ([#4068](#4068)) ([7a8f3a3](7a8f3a3)) * Sync commits from `aztec-packages` ([#4144](#4144)) ([0205d3b](0205d3b)) * Sync from aztec-packages ([#4483](#4483)) ([fe8f277](fe8f277)) ### Bug Fixes * Deserialize odd length hex literals ([#3747](#3747)) ([4000fb2](4000fb2)) * Noir test incorrect reporting (AztecProtocol/aztec-packages#4925) ([5f57ebb](5f57ebb)) * Remove panic from `init_log_level` in `acvm_js` ([#4195](#4195)) ([2e26530](2e26530)) * Return error rather instead of panicking on invalid circuit ([#3976](#3976)) ([67201bf](67201bf)) ### Miscellaneous Chores * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) ([158c8ce](158c8ce)) * Move noir out of yarn-project (AztecProtocol/aztec-packages#4479) ([78ef013](78ef013)) * Remove partial backend feature ([#3805](#3805)) ([0383100](0383100)) * Remove unused methods on ACIR opcodes ([#3841](#3841)) ([9e5d0e8](9e5d0e8)) * Rename Arithmetic opcode to AssertZero ([#3840](#3840)) ([836f171](836f171)) * Rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) ([158c8ce](158c8ce)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: Savio <[email protected]>
noir-lang/noir#4495) fix: Dynamic assert messages in brillig (noir-lang/noir#4531) chore: organize the `blackbox_solver` crate (noir-lang/noir#4519) fix(acir_gen): More granular element sizes array check (noir-lang/noir#4528) chore: Release Noir(0.25.0) (noir-lang/noir#4352) chore: document big integers (noir-lang/noir#4487) fix: Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521) fix: Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472) chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496) chore: Add HashMap docs (noir-lang/noir#4457) chore: custom hash for eddsa (noir-lang/noir#4440) chore: update various dependencies (noir-lang/noir#4513) fix: Allow type aliases in main (noir-lang/noir#4505) chore: add `ModuleDeclaration` struct (noir-lang/noir#4512) fix: Force src impl for == on slices (noir-lang/noir#4507) chore: pass `import_directive` by reference (noir-lang/noir#4511) feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188) chore: add regression test for issue 4449 (noir-lang/noir#4503) chore: pass macro processors by reference (noir-lang/noir#4501) chore: bump bb to 0.26.3 (noir-lang/noir#4488) fix: handling of gh deps in noir_wasm (noir-lang/noir#4499) fix: iterative flattening pass (noir-lang/noir#4492) chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (noir-lang/noir#4486) feat: run tests in parallel in `nargo test` (noir-lang/noir#4484)
…/noir#4495) fix: Dynamic assert messages in brillig (noir-lang/noir#4531) chore: organize the `blackbox_solver` crate (noir-lang/noir#4519) fix(acir_gen): More granular element sizes array check (noir-lang/noir#4528) chore: Release Noir(0.25.0) (noir-lang/noir#4352) chore: document big integers (noir-lang/noir#4487) fix: Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521) fix: Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472) chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496) chore: Add HashMap docs (noir-lang/noir#4457) chore: custom hash for eddsa (noir-lang/noir#4440) chore: update various dependencies (noir-lang/noir#4513) fix: Allow type aliases in main (noir-lang/noir#4505) chore: add `ModuleDeclaration` struct (noir-lang/noir#4512) fix: Force src impl for == on slices (noir-lang/noir#4507) chore: pass `import_directive` by reference (noir-lang/noir#4511) feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188) chore: add regression test for issue 4449 (noir-lang/noir#4503) chore: pass macro processors by reference (noir-lang/noir#4501) chore: bump bb to 0.26.3 (noir-lang/noir#4488) fix: handling of gh deps in noir_wasm (noir-lang/noir#4499) fix: iterative flattening pass (noir-lang/noir#4492) chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (noir-lang/noir#4486) feat: run tests in parallel in `nargo test` (noir-lang/noir#4484)
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: generalise `FunctionVisibility` to `ItemVisibility` (noir-lang/noir#4495) fix: Dynamic assert messages in brillig (noir-lang/noir#4531) chore: organize the `blackbox_solver` crate (noir-lang/noir#4519) fix(acir_gen): More granular element sizes array check (noir-lang/noir#4528) chore: Release Noir(0.25.0) (noir-lang/noir#4352) chore: document big integers (noir-lang/noir#4487) fix: Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521) fix: Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472) chore: Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) fix(ssa): Handle mergers of slices returned from calls (noir-lang/noir#4496) chore: Add HashMap docs (noir-lang/noir#4457) chore: custom hash for eddsa (noir-lang/noir#4440) chore: update various dependencies (noir-lang/noir#4513) fix: Allow type aliases in main (noir-lang/noir#4505) chore: add `ModuleDeclaration` struct (noir-lang/noir#4512) fix: Force src impl for == on slices (noir-lang/noir#4507) chore: pass `import_directive` by reference (noir-lang/noir#4511) feat: Track stack frames and their variables in the debugger (noir-lang/noir#4188) chore: add regression test for issue 4449 (noir-lang/noir#4503) chore: pass macro processors by reference (noir-lang/noir#4501) chore: bump bb to 0.26.3 (noir-lang/noir#4488) fix: handling of gh deps in noir_wasm (noir-lang/noir#4499) fix: iterative flattening pass (noir-lang/noir#4492) chore: Move templated code for assert_message into the stdlib (noir-lang/noir#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (noir-lang/noir#4486) feat: run tests in parallel in `nargo test` (noir-lang/noir#4484) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <[email protected]> Co-authored-by: Tom French <[email protected]>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: generalise `FunctionVisibility` to `ItemVisibility` (#4495) fix: Dynamic assert messages in brillig (#4531) chore: organize the `blackbox_solver` crate (#4519) fix(acir_gen): More granular element sizes array check (#4528) chore: Release Noir(0.25.0) (#4352) chore: document big integers (#4487) fix: Add `follow_bindings` to follow `Type::Alias` links (#4521) fix: Fix brillig slowdown when assigning arrays in loops (#4472) chore: Move `check_method_signatures` to type checking phase (#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (#4493) fix(ssa): Handle mergers of slices returned from calls (#4496) chore: Add HashMap docs (#4457) chore: custom hash for eddsa (#4440) chore: update various dependencies (#4513) fix: Allow type aliases in main (#4505) chore: add `ModuleDeclaration` struct (#4512) fix: Force src impl for == on slices (#4507) chore: pass `import_directive` by reference (#4511) feat: Track stack frames and their variables in the debugger (#4188) chore: add regression test for issue 4449 (#4503) chore: pass macro processors by reference (#4501) chore: bump bb to 0.26.3 (#4488) fix: handling of gh deps in noir_wasm (#4499) fix: iterative flattening pass (#4492) chore: Move templated code for assert_message into the stdlib (#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (#4486) feat: run tests in parallel in `nargo test` (#4484) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <[email protected]> Co-authored-by: Tom French <[email protected]>
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: generalise `FunctionVisibility` to `ItemVisibility` (#4495) fix: Dynamic assert messages in brillig (#4531) chore: organize the `blackbox_solver` crate (#4519) fix(acir_gen): More granular element sizes array check (#4528) chore: Release Noir(0.25.0) (#4352) chore: document big integers (#4487) fix: Add `follow_bindings` to follow `Type::Alias` links (#4521) fix: Fix brillig slowdown when assigning arrays in loops (#4472) chore: Move `check_method_signatures` to type checking phase (#4516) chore(ci): fix JS publishing workflow checking out inconsistent commits (#4493) fix(ssa): Handle mergers of slices returned from calls (#4496) chore: Add HashMap docs (#4457) chore: custom hash for eddsa (#4440) chore: update various dependencies (#4513) fix: Allow type aliases in main (#4505) chore: add `ModuleDeclaration` struct (#4512) fix: Force src impl for == on slices (#4507) chore: pass `import_directive` by reference (#4511) feat: Track stack frames and their variables in the debugger (#4188) chore: add regression test for issue 4449 (#4503) chore: pass macro processors by reference (#4501) chore: bump bb to 0.26.3 (#4488) fix: handling of gh deps in noir_wasm (#4499) fix: iterative flattening pass (#4492) chore: Move templated code for assert_message into the stdlib (#4475) chore: pull out separate function for compiling and running a test chore: update cargo deny config (#4486) feat: run tests in parallel in `nargo test` (#4484) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <[email protected]> Co-authored-by: Tom French <[email protected]>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.27.2</summary> ## [0.27.2](aztec-package-v0.27.1...aztec-package-v0.27.2) (2024-03-13) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.27.2</summary> ## [0.27.2](barretenberg.js-v0.27.1...barretenberg.js-v0.27.2) (2024-03-13) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.27.2</summary> ## [0.27.2](aztec-cli-v0.27.1...aztec-cli-v0.27.2) (2024-03-13) ### Miscellaneous * **aztec-cli:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.27.2</summary> ## [0.27.2](aztec-packages-v0.27.1...aztec-packages-v0.27.2) (2024-03-13) ### Features * Check initialization arguments in constructors ([#5144](#5144)) ([d003bd6](d003bd6)) * Multithreaded prover folding ([#5147](#5147)) ([94922fc](94922fc)) * Run tests in parallel in `nargo test` (noir-lang/noir#4484) ([58e15ed](58e15ed)) * Track stack frames and their variables in the debugger (noir-lang/noir#4188) ([58e15ed](58e15ed)) ### Bug Fixes * **acir_gen:** More granular element sizes array check (noir-lang/noir#4528) ([58e15ed](58e15ed)) * Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521) ([58e15ed](58e15ed)) * Allow type aliases in main (noir-lang/noir#4505) ([58e15ed](58e15ed)) * Constant gen ([#5172](#5172)) ([394a0e0](394a0e0)) * **docs:** Update quickstart.md ([#5021](#5021)) ([be9f8a1](be9f8a1)) * Dynamic assert messages in brillig (noir-lang/noir#4531) ([58e15ed](58e15ed)) * Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472) ([58e15ed](58e15ed)) * Fix deployments ([#5183](#5183)) ([596253b](596253b)) * Force src impl for == on slices (noir-lang/noir#4507) ([58e15ed](58e15ed)) * Handling of gh deps in noir_wasm (noir-lang/noir#4499) ([58e15ed](58e15ed)) * Intermittent invert 0 in Goblin ([#5174](#5174)) ([3e68b49](3e68b49)) * Iterative flattening pass (noir-lang/noir#4492) ([58e15ed](58e15ed)) * Noir mirror merge strat ([#5166](#5166)) ([74fa8d6](74fa8d6)) * **ssa:** Handle mergers of slices returned from calls (noir-lang/noir#4496) ([58e15ed](58e15ed)) ### Miscellaneous * Add `ModuleDeclaration` struct (noir-lang/noir#4512) ([58e15ed](58e15ed)) * Add HashMap docs (noir-lang/noir#4457) ([58e15ed](58e15ed)) * Add regression test for issue 4449 (noir-lang/noir#4503) ([58e15ed](58e15ed)) * Better output in ci_deploy_contracts.sh ([#5171](#5171)) ([8d73f8a](8d73f8a)) * Bump bb to 0.26.3 (noir-lang/noir#4488) ([58e15ed](58e15ed)) * **ci:** Fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) ([58e15ed](58e15ed)) * Custom hash for eddsa (noir-lang/noir#4440) ([58e15ed](58e15ed)) * Deterministic mode ([#5155](#5155)) ([e68b56a](e68b56a)) * Document big integers (noir-lang/noir#4487) ([58e15ed](58e15ed)) * Generalise `FunctionVisibility` to `ItemVisibility` (noir-lang/noir#4495) ([58e15ed](58e15ed)) * Interaction for a mock first circuit handled inside the `EccOpQueue` ([#4854](#4854)) ([d9cbdc8](d9cbdc8)) * Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) ([58e15ed](58e15ed)) * Move templated code for assert_message into the stdlib (noir-lang/noir#4475) ([58e15ed](58e15ed)) * Organize the `blackbox_solver` crate (noir-lang/noir#4519) ([58e15ed](58e15ed)) * Pass `import_directive` by reference (noir-lang/noir#4511) ([58e15ed](58e15ed)) * Pass macro processors by reference (noir-lang/noir#4501) ([58e15ed](58e15ed)) * Pull out separate function for compiling and running a test ([58e15ed](58e15ed)) * Release Noir(0.25.0) (noir-lang/noir#4352) ([58e15ed](58e15ed)) * Update cargo deny config (noir-lang/noir#4486) ([58e15ed](58e15ed)) * Update various dependencies (noir-lang/noir#4513) ([58e15ed](58e15ed)) </details> <details><summary>barretenberg: 0.27.2</summary> ## [0.27.2](barretenberg-v0.27.1...barretenberg-v0.27.2) (2024-03-13) ### Features * Multithreaded prover folding ([#5147](#5147)) ([94922fc](94922fc)) ### Bug Fixes * Intermittent invert 0 in Goblin ([#5174](#5174)) ([3e68b49](3e68b49)) ### Miscellaneous * Interaction for a mock first circuit handled inside the `EccOpQueue` ([#4854](#4854)) ([d9cbdc8](d9cbdc8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.27.2</summary> ## [0.27.2](AztecProtocol/aztec-packages@aztec-package-v0.27.1...aztec-package-v0.27.2) (2024-03-13) ### Miscellaneous * **aztec-package:** Synchronize aztec-packages versions </details> <details><summary>barretenberg.js: 0.27.2</summary> ## [0.27.2](AztecProtocol/aztec-packages@barretenberg.js-v0.27.1...barretenberg.js-v0.27.2) (2024-03-13) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions </details> <details><summary>aztec-cli: 0.27.2</summary> ## [0.27.2](AztecProtocol/aztec-packages@aztec-cli-v0.27.1...aztec-cli-v0.27.2) (2024-03-13) ### Miscellaneous * **aztec-cli:** Synchronize aztec-packages versions </details> <details><summary>aztec-packages: 0.27.2</summary> ## [0.27.2](AztecProtocol/aztec-packages@aztec-packages-v0.27.1...aztec-packages-v0.27.2) (2024-03-13) ### Features * Check initialization arguments in constructors ([#5144](AztecProtocol/aztec-packages#5144)) ([d003bd6](AztecProtocol/aztec-packages@d003bd6)) * Multithreaded prover folding ([#5147](AztecProtocol/aztec-packages#5147)) ([94922fc](AztecProtocol/aztec-packages@94922fc)) * Run tests in parallel in `nargo test` (noir-lang/noir#4484) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Track stack frames and their variables in the debugger (noir-lang/noir#4188) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) ### Bug Fixes * **acir_gen:** More granular element sizes array check (noir-lang/noir#4528) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Add `follow_bindings` to follow `Type::Alias` links (noir-lang/noir#4521) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Allow type aliases in main (noir-lang/noir#4505) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Constant gen ([#5172](AztecProtocol/aztec-packages#5172)) ([394a0e0](AztecProtocol/aztec-packages@394a0e0)) * **docs:** Update quickstart.md ([#5021](AztecProtocol/aztec-packages#5021)) ([be9f8a1](AztecProtocol/aztec-packages@be9f8a1)) * Dynamic assert messages in brillig (noir-lang/noir#4531) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Fix brillig slowdown when assigning arrays in loops (noir-lang/noir#4472) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Fix deployments ([#5183](AztecProtocol/aztec-packages#5183)) ([596253b](AztecProtocol/aztec-packages@596253b)) * Force src impl for == on slices (noir-lang/noir#4507) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Handling of gh deps in noir_wasm (noir-lang/noir#4499) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Intermittent invert 0 in Goblin ([#5174](AztecProtocol/aztec-packages#5174)) ([3e68b49](AztecProtocol/aztec-packages@3e68b49)) * Iterative flattening pass (noir-lang/noir#4492) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Noir mirror merge strat ([#5166](AztecProtocol/aztec-packages#5166)) ([74fa8d6](AztecProtocol/aztec-packages@74fa8d6)) * **ssa:** Handle mergers of slices returned from calls (noir-lang/noir#4496) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) ### Miscellaneous * Add `ModuleDeclaration` struct (noir-lang/noir#4512) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Add HashMap docs (noir-lang/noir#4457) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Add regression test for issue 4449 (noir-lang/noir#4503) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Better output in ci_deploy_contracts.sh ([#5171](AztecProtocol/aztec-packages#5171)) ([8d73f8a](AztecProtocol/aztec-packages@8d73f8a)) * Bump bb to 0.26.3 (noir-lang/noir#4488) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * **ci:** Fix JS publishing workflow checking out inconsistent commits (noir-lang/noir#4493) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Custom hash for eddsa (noir-lang/noir#4440) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Deterministic mode ([#5155](AztecProtocol/aztec-packages#5155)) ([e68b56a](AztecProtocol/aztec-packages@e68b56a)) * Document big integers (noir-lang/noir#4487) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Generalise `FunctionVisibility` to `ItemVisibility` (noir-lang/noir#4495) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Interaction for a mock first circuit handled inside the `EccOpQueue` ([#4854](AztecProtocol/aztec-packages#4854)) ([d9cbdc8](AztecProtocol/aztec-packages@d9cbdc8)) * Move `check_method_signatures` to type checking phase (noir-lang/noir#4516) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Move templated code for assert_message into the stdlib (noir-lang/noir#4475) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Organize the `blackbox_solver` crate (noir-lang/noir#4519) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Pass `import_directive` by reference (noir-lang/noir#4511) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Pass macro processors by reference (noir-lang/noir#4501) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Pull out separate function for compiling and running a test ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Release Noir(0.25.0) (noir-lang/noir#4352) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Update cargo deny config (noir-lang/noir#4486) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) * Update various dependencies (noir-lang/noir#4513) ([58e15ed](AztecProtocol/aztec-packages@58e15ed)) </details> <details><summary>barretenberg: 0.27.2</summary> ## [0.27.2](AztecProtocol/aztec-packages@barretenberg-v0.27.1...barretenberg-v0.27.2) (2024-03-13) ### Features * Multithreaded prover folding ([#5147](AztecProtocol/aztec-packages#5147)) ([94922fc](AztecProtocol/aztec-packages@94922fc)) ### Bug Fixes * Intermittent invert 0 in Goblin ([#5174](AztecProtocol/aztec-packages#5174)) ([3e68b49](AztecProtocol/aztec-packages@3e68b49)) ### Miscellaneous * Interaction for a mock first circuit handled inside the `EccOpQueue` ([#4854](AztecProtocol/aztec-packages#4854)) ([d9cbdc8](AztecProtocol/aztec-packages@d9cbdc8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Description
Problem*
Part of #3015
We want to track call frames and observe variables local to the currently executing frame.
Summary*
This PR adds a bit more debugging instrumentation to track when function call frames are entered and exited, which allows to determine which variables are "live" at the current point in execution. This new instrumentation also allows labeling the frames in the call stack from the names of the functions being executed.
Also, it includes improvements on how source breakpoints are mapped into opcode breakpoints. Both features combined bring substantial improvements to the debugger usability.
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.