Skip to content

CoreCLR Interpreter - Shared generics support #116395

@davidwrighton

Description

@davidwrighton

Basic shared generics support will be in once PR #116357 is merged, but there remain a number of additional issues

  • Support for box with a generic type which varies by type parameter
  • Support for unbox.any with a generic type which varies by type parameter
  • Support for isinst with a generic type which varies by type parameter
  • Support for castclass with a generic type which varies by type parameter
  • Support for static fields on a type which varies by type parameter
  • Support for callvirt fallback to ldvirtftn behavior, will probably require adding support for the ldvirtftn opcode + calli opcode
  • Support for constrained calls to classes
  • Support for constrained calls to static virtual methods defined on classes. will probably require adding support for the calli opcode
  • Support for IL stub implementations of unboxing/unboxing and instantiating helpers
  • Support for constrained dispatch to structs from generic code, particularly with shared generics involved. Will involve respecting the CORINFO_THIS_TRANSFORM returned from getCallInfo
  • Handling of catch of a generic where which generic is dependent on the context argument to the method

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions