Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Late cast expansion: castclass #97237

Merged
merged 4 commits into from
Jan 22, 2024
Merged

Conversation

EgorBo
Copy link
Member

@EgorBo EgorBo commented Jan 19, 2024

Move profiled castclasses from importer to fgLateCastExpand

@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 Jan 19, 2024
@ghost ghost assigned EgorBo Jan 19, 2024
@ghost
Copy link

ghost commented Jan 19, 2024

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

Move profiled castclasses from importer to fgLateCastExpand

Author: EgorBo
Assignees: EgorBo
Labels:

area-CodeGen-coreclr

Milestone: -

@EgorBo
Copy link
Member Author

EgorBo commented Jan 20, 2024

It turned out to be a trivial change to support profiled castclass as an addition to profiled isinst.

To move non-profiled casts I will have to add a few additional things:

  1. In some cases we don't need the fallback call at all, e.g. obj is string because string is sealed
  2. In some cases the fallback call should be marked as no-return (and its block converted to BBJ_THROW)
  3. getExactClasses for NativeAOT
    ...

@EgorBo
Copy link
Member Author

EgorBo commented Jan 20, 2024

PTAL @jakobbotsch @dotnet/jit-contrib Build failures are known. Diffs

@EgorBo EgorBo requested a review from jakobbotsch January 20, 2024 13:17
# for free to subscribe to this conversation on GitHub. Already have an account? #.
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.

2 participants