Skip to content

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

@kotlarmilos

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions