Skip to content

[ios-clr] R2R compile XAML-generated methods in Debug using MIBC crossgen2 #126194

@kotlarmilos

Description

@kotlarmilos

Description

In Debug, non-user assemblies are compiled into an R2R composite image, while user assemblies are excluded via PublishReadyToRunExclude and left interpreted. XAML-generated logic (primarily InitializeComponent methods) might be slow and could benefit from R2R compilation.

To address this without invalidating the existing composite cache, a new tool in MAUI generates a MIBC file that lists only the methods produced by the XAML compilers. The idea is to produces a separate, smaller R2R image containing only XAML-generated methods, keeping it distinct from the R2R composite so that it can be invalidated and regenerated independently on rebuild.

Tasks

  • Add MIBC profile generator for InitializeComponent methods maui#34660
  • Ensure the new image contains only XAML methods and does not overlap with the non-user composite
  • Ensure only the small R2R image is regenerated on rebuild when XAML changes
  • Measure build time, size, and startup impact
  • Allow users to exclude non-user assemblies from the composite to enable debugging of those assemblies

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions