-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
Labels
Milestone
Description
The concept of versioning bubbles is described in https://github.com/dotnet/coreclr/blob/master/Documentation/botr/readytorun-overview.md#version-bubbles
The current implementation is hardcoded to each assembly being its own versioning bubble. This issue is about adding an option for larger versioning bubbles:
- Add command line option to crossgen to allow specifying versioning bubbles
- Update
IsInSameVersionBubbleto respect this - Record MVIDs of assemblies participating in the version bubble in R2R image
- Add enforcement to assembly loader to detect version bubble mismatches using MVIDs stored in the R2R images. This is important for a good diagnostic of mistakes when the assembly within version bubble is accidentally replaced by a different one.
- Use def tokens and module references within the version bubble (look for `ZapImportTable::TryEncodeModule). This is required to allow cross-module inlining of non-leaf methods within the version bubble.
Reactions are currently unavailable