Skip to content
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

JIT: Update profile data for continuation block of removed call-finally #110327

Merged
merged 1 commit into from
Dec 2, 2024

Conversation

amanasifkhalid
Copy link
Member

Fixes #110317. Follow-up to #109792. When removing a call-finally pair associated with an empty try region, decrement any flow from the pair into the continuation block, and add any flow from the now-inlined finally region's exit(s) into the continuation block.

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Dec 2, 2024
@amanasifkhalid
Copy link
Member Author

cc @dotnet/jit-contrib, @AndyAyersMS PTAL. Small diffs -- I suspect the methods that incur diffs from this change are already inconsistent by the time they get to EH region removal, hence why they didn't trigger asserts from newly-lost profile consistency. Thanks!

@amanasifkhalid amanasifkhalid merged commit 758bbc6 into dotnet:main Dec 2, 2024
105 of 108 checks passed
@amanasifkhalid amanasifkhalid deleted the empty-try-profile-fix branch December 2, 2024 22:33
eduardo-vp pushed a commit to eduardo-vp/runtime that referenced this pull request Dec 5, 2024
…ly (dotnet#110327)

Fixes dotnet#110317. Follow-up to dotnet#109792. When removing a call-finally pair associated with an empty try region, decrement any flow from the pair into the continuation block, and add any flow from the now-inlined finally region's exit(s) into the continuation block.
mikelle-rogers pushed a commit to mikelle-rogers/runtime that referenced this pull request Dec 10, 2024
…ly (dotnet#110327)

Fixes dotnet#110317. Follow-up to dotnet#109792. When removing a call-finally pair associated with an empty try region, decrement any flow from the pair into the continuation block, and add any flow from the now-inlined finally region's exit(s) into the continuation block.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

JIT: Assertion failed '!"Inconsistent profile data"' during 'Remove empty try'
2 participants