JIT: Overwrite cache during recursive map select in VN#115219
Merged
jakobbotsch merged 2 commits intodotnet:mainfrom May 14, 2025
Merged
JIT: Overwrite cache during recursive map select in VN#115219jakobbotsch merged 2 commits intodotnet:mainfrom
jakobbotsch merged 2 commits intodotnet:mainfrom
Conversation
If the recursive select runs out of budget it may have already cached a value. In that case allow overwriting the cached value (which should just replace it with the same value).
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR updates the recursive map select routine in the JIT to allow overwriting a previously cached value when running out of budget. The change mirrors similar behavior in a related case in the runtime code.
- Changed the caching call to use the Overwrite flag in GetMapSelectWorkCache()->Set.
- Added inline comments explaining the rationale for allowing overwrites.
Contributor
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Member
Author
|
PTAL @dotnet/jit-contrib |
AndyAyersMS
approved these changes
May 1, 2025
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
If the recursive select runs out of budget it may have already cached a value. In that case allow overwriting the cached value (which should just replace it with the same value).
This handles a similar case that the other case already handles:
runtime/src/coreclr/jit/valuenum.cpp
Lines 3723 to 3724 in f6b9331
Fix #108850