Skip to content

JIT does not promote Span<T> in R2R code #85511

@jakobbotsch

Description

@jakobbotsch

Outside the SPC version bubble crossgen2 returns CORINFO_FLG_DONT_DIG_FIELDS despite the fact that Span<T>/ReadOnlySpan<T> are not versionable. This means the JIT does not promote spans in R2R code.
Talked a bit with @davidwrighton and it might be problematic to let JIT ask questions about the fields even for non-versionable types -- so we may need to special case Span<T>/ReadOnlySpan<T> in some way. Or we can introduce more specific JIT-EE helper for the purpose of promotion so that crossgen2 can make a more fine grained decision of what dependencies the JIT is allowed to make.

Metadata

Metadata

Assignees

Labels

Priority:2Work that is important, but not critical for the releasearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions