-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
Goal
The primary goal is to enable Apple mobile apps (iOS, tvOS, MacCatalyst) to run on the CoreCLR interpreter with R2R images. Since runtime codegen/JIT is not allowed on Apple devices, this work ensures that .NET mobile apps can run precompiled IL through the interpreter and R2R. Our objective is to make interpreter with R2R production-ready across all Apple mobile platforms, with full support for MAUI.
Plan
This project is divided into five user stories.
Interpreter
Enable CoreCLR interpreter to run precompiled IL with R2R on Apple mobile devices, including reflection, must-expand intrinsics, hardware intrinsics, and Swift calling convention.
Tasks:
- [clr-ios] Validate runtime IL emission for reflection in CoreCLR interpreter on Apple mobile #120046
- [clr-ios] Ensure must-expand intrinsics execute through R2R #120047
- [clr-ios] Enable SIMD and hardware intrinsics on arm64 Apple devices #120048
- [clr-ios] Implement Swift calling convention in CoreCLR interpreter #120049
R2R
Extend Crossgen2 and the runtime loader to emit and consume Mach-O object files for Apple mobile.
Tasks:
- [clr-ios] Implement Crossgen2 Mach-O object writer #120043
- [clr-ios] Update runtime loader to support Mach-O dynamic libraries #120044
- [clr-ios] Update AppleAppBuilder to support dynamic R2R images #120045
SDK
Produce and integrate runtime packs for Apple RIDs (iOS, tvOS, MacCatalyst), ensuring MAUI workloads build and run with interpreter + R2R.
Tasks:
- [clr-ios] Update build system to produce artifacts for dynamic linking on Apple mobile #119006
- [clr-ios] Generate runtime packs for Apple mobile RIDs #120050
- [clr-ios] Update iOS SDK build to run CoreCLR interpreter #120051
- [clr-ios] Update iOS SDK build to use R2R for startup path #120052
Testing
Run functional and performance tests for interpreter + R2R across devices and simulators, covering runtime, SDK, and MAUI.
Tasks:
- [clr-ios] Implement functional tests for interpreter and R2R on Apple devices and simulators #120053
- [clr-ios] Implement performance benchmarks for interpreter and R2R on Apple devices #120054
- [clr-ios] Stand up library and runtime test on Apple mobile using interpreter + R2R #120055
- [clr-ios] Stand up iOS SDK and MAUI test on Apple mobile using interpreter + R2R #120056
Diagnostics
Extend the debugger to support interpreter stack frames and improve diagnostic tooling on Apple mobile.
Tasks:
Metadata
Metadata
Assignees
Labels
Type
Projects
Status