You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
I noticed in a few places we use Instruction::map_values we clone the instruction beforehand to get around borrowing restrictions. This means we should mutate in place though instead of using map_values to produce another Instruction value, so I've added map_values_mut for Instruction and DataBus and searched through to find each case we could use these as well as the existing TerminatorInstruction::mutate_values which I've renamed.
Additional Context
Documentation*
Check one:
No documentation needed.
Documentation included in this PR.
[For Experimental Features] Documentation to be submitted in a separate PR.
PR Checklist*
I have tested the changes locally.
I have formatted the changes with Prettier and/or cargo fmt on default settings.
I'm not seeing a big benefit to the peak memory usage here although the heaptrack profiling was done on the rollup-base-private circuit which our CI doesn't currently track. I'll profile this again tomorrow to see if we should go ahead and merge.
@TomAFrench I'd think this change would generally benefit runtime speed more than memory use since the extra clones we did before would just get freed afterward anyway. I'm not sure why the time for private-kernel-inner seems to have noticeably increased though.
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.
Description
Problem*
Working towards #6751
Summary*
I noticed in a few places we use
Instruction::map_values
we clone the instruction beforehand to get around borrowing restrictions. This means we should mutate in place though instead of usingmap_values
to produce anotherInstruction
value, so I've addedmap_values_mut
forInstruction
andDataBus
and searched through to find each case we could use these as well as the existingTerminatorInstruction::mutate_values
which I've renamed.Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.