-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[mono] Skip .mibc profile methods when not found #73066
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
[mono] Skip .mibc profile methods when not found #73066
Conversation
src/mono/mono/mini/aot-compiler.c
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will this end up as an MSBuild warning? I think we should log it, as long as it doesn't show up as a warning for users.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it should make it through as an MSBuild warning. I tested locally and I could only get the warning to pop up when running the mono aot compiler manually. dotnet publish doesn't surface the log. I've been told by @akoeplinger that through a certain format, it would end up as a MSBuild warning, but I believe this message shouldn't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The profile not matching the app is normal behavior so I don't think this should cause a warning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a scenario where a profile not matching the app is problematic and should be noted? What countermeasure do/should we have for this? I originally encountered an unfound method when accidentally profiling an app that was untrimmed and then used the corresponding .mibc to Profiled AOT a trimmed version. Though I suppose thats not problematic as the methods in the trimmed version should be in the profile anyways?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be useful to have some kind of functionality to show the user when the profile doesn't match the app any more, but it should be done in some kind of user friendly way not a g_warning ().
6cc9c1d to
8f109f4
Compare
|
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
The failures on runtime-extra-platforms should be unrelated as this PR only touches the .mibc Profiled AOT scenario, which doesn't have tests yet. |
This PR allows the MonoAOTCompiler to skip compiling methods from a .mibc profile that can not be found. This case can occur when one uses a .mibc profile based on a different app.
/cc: @jonathanpeppers