| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
This code was trying to answer question: "Was this method overriden by something else in a more derived class"? It was walking the base hierarchy in canonical form, but that was leading to methods not resolving at all. The fix is to walk the non-canonical hierarchy and canonicalize after we resolved everything. I ran into this in dotnet#108379 that unlocked more whole program devirtualization and `StringSearchValuesBase` is in this shape.
|
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
Sorry, something went wrong.
There was a problem hiding this comment.
lgtm. please get a code review. we will take for consideration in 9 GA
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Backport of #108442 to release/9.0
Customer Impact
A new optimization added in 9.0 was causing incorrect devirtualization to a method on a base class instead of the correct more derived class.
Regression
Introduced in #97812 when the optimization was added.
Testing
This was found when I was making devirtualization kick in even more often in a .NET 10 PR. It is however hittable in .NET 9 too.
Risk
Should be low. The change was straightforward and none of our test passes found problems with it.