Skip to content

[CoreCLR] Enable cached ReadyToRun for Android Debug builds #12117

Description

@kotlarmilos

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

Metadata

Metadata

Labels

Area: CoreCLRIssues that only occur when using CoreCLR.enhancementProposed change to current functionality.needs-triageIssues that need to be assigned.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions