Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smaller bubbles WIP #2

Open
wants to merge 3 commits into
base: preview7
Choose a base branch
from
Open

Smaller bubbles WIP #2

wants to merge 3 commits into from

Conversation

y-yamshchikov
Copy link
Owner

@y-yamshchikov y-yamshchikov commented Oct 9, 2019

A stage in the smaller version bubbles investigation.

Crossgen takes bubbling assemblies and puts them into ApplicationContext structure for further lookup among them.
Global IsInSameVersionBubble(...), Module::IsInCurrentVersionBubble() functions have been updated to provide new logic.
Dozen of conditions used IsLargeVersionBubbleEnabled() have been updated with smaller bubble related logic.
In function ZapInfo::getClassSize turned off actions under condition of crossing version bubble boundaries. In other case compilation falls trying to call a EncodeModuleHelper function pointer previously set to NULL in ZapImportTable::GetCheckTypeLayoutImport(...) function.

Given all this compilation passes, but runtime fails. And R2RDump tool shows that manifest metadata AssemblyRef's contains the same assemblies that it does after Large Version Bubble mode compilation.

Behavior under getClassSize and AssemblyRef content are questions for further investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant