Skip to content

[clr-ios] Validate runtime IL emission for reflection in CoreCLR interpreter on Apple mobile #120046

Description

@kotlarmilos

Description

Reflection may require JIT compilation for dynamic code generation and expression trees, which is not allowed on Apple mobile platforms. This task ensures that constructs such as Reflection.Emit, DynamicMethod, and expression tree compilation are supported when running on CoreCLR interpreter.

If these features are currently supported only through the JIT path, the goal is to implement equivalent support in the interpreter. Additionally, all runtime-generated stubs (e.g., dynamic methods, delegate invoke stubs) should be precompiled to eliminate any JIT dependency.

Tasks

  • Write tests that cover Reflection.Emit, DynamicMethod, and expression tree compilation constructs in C#
  • Run the tests on a fully interpreted desktop to verify if the interpreter supports these scenarios
  • If the functionality depends on JIT, implement equivalent logic in the interpreter path
  • Run the tests on iOS to validate behavior and ensure no JIT is invoked

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions