-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Conversation
08e4d9a
to
41455fa
Compare
41455fa
to
dfde969
Compare
Will there be a runtime data structure that will tell which assemblies belong to which version bubble? |
Actually it should not be needed for the feature I'm thinking about. I'm thinking that for tiered compilation we should have a heuristic that can tell if it's profitable to rejit a method or not and being in the same version bubble should make it less likely that we should rejit it. Of course that in of itself maybe naive, but then the thought is if we could give MPGO that information then all of it could be done offline. |
@mjsabby - that's a planned feature and is reasonably easy to accomplish. It very likely won't be part of this PR and the exact format specification needs to be determined. |
e76d09a
to
772fb76
Compare
26a36ba
to
ec660bd
Compare
@A-And does the |
@alpencolt - if turned on, yes. This is still early days for the feature, so the changes in this PR only enable the "everything is a large version bubble" scenario. When the feature is expanded, you will only have to recompile the constituent DLLs of the version bubble in which the change has been made. The feature hasn't been documented yet (mostly due to it being unfinished and experimental). @jkotas - any thoughts on whether we should add documentation for the use of the feature with a disclaimer stating it's not officially supported? |
efa9fd8
to
c48daf2
Compare
c48daf2
to
8254212
Compare
@dotnet-bot test this please |
@dotnet-bot test Tizen armel Cross Checked Innerloop Build and Test please |
@dotnet-bot test Windows_NT x86 Release Innerloop Build and Test please |
* Preliminary Changes * Module Index Resolution * Change infoModule encoding * Change referencing module in R2R * Pre-condition Check * Virtual Method Module Resolution * Remove Workarounds and add conditional import loading * Add signature kind module override * Add ELEMENT_TYPE_MODULE_ZAPSIG * Add switch to enable large version bubble * Cleanup * Change Native header check * Add large version bubble test * Add Large Version Bubble Checks * Cleanup * Revert unnecessary check * Change EncodeMethod Version Bubble Condition * Add Large Version Bubble asserts * Cleanup * Add default argument to runtests.py * Change test PreCommands * Revert whitespace changes * Change breaking conditional check * Streamline Version Bubble test * Address PR Feedback * Address PR Feedback dotnet/coreclr#2 * Remove dead code * Add crossgen-time ifdef Commit migrated from dotnet/coreclr@9fe3286
Opening this up for preliminary comments.
The below changes pass all Pri-0 tests both with and without the
/largeversionbubble
switch enabled. Without the switch specified the changes don't introduce any functional changes.These changes treat the entire input as a singular version bubble.
cc @sergiy-k