Summary
CoreCLR Android Debug builds currently use JIT compilation for all assemblies. Enable cached ReadyToRun compilation for stable framework and SDK assemblies, including System.Private.CoreLib.dll, to improve startup performance while keeping user assemblies as IL for normal debugging and incremental development.
Android Debug application size is not a primary constraint. The ReadyToRun output should be generated once for each RID and stable framework input set, then reused by subsequent builds. Changes limited to user assemblies must not rerun crossgen2.
This issue covers non-profiled Debug ReadyToRun.
Tasks
- Define the framework and SDK assembly set, including
System.Private.CoreLib.dll
- Enable ReadyToRun by default for CoreCLR Debug builds
- Keep user assemblies out of ReadyToRun compilation
- Cache ReadyToRun output by RID and framework inputs
- Ensure user-code changes do not invalidate the ReadyToRun cache
- Integrate the output with fast deployment
Summary
CoreCLR Android Debug builds currently use JIT compilation for all assemblies. Enable cached ReadyToRun compilation for stable framework and SDK assemblies, including
System.Private.CoreLib.dll, to improve startup performance while keeping user assemblies as IL for normal debugging and incremental development.Android Debug application size is not a primary constraint. The ReadyToRun output should be generated once for each RID and stable framework input set, then reused by subsequent builds. Changes limited to user assemblies must not rerun crossgen2.
This issue covers non-profiled Debug ReadyToRun.
Tasks
System.Private.CoreLib.dll