-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Add DOTNET_JitDisasmOnlyOptimized knob #96960
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWe already have
|
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 name is DisasmTier0
but the behavior is DisasmOnlyTier1
. I'd suggest renaming it to JitDisasmOnlyOptimized
and switch the check to OptimizationEnabled()
instead.
OptimizationEnabled() triggered an assert because it's not yet initialized so I consumed the flag directly to avoid changing too much code unnecessarily. Tier1 flag means "optimizations are allowed", I'm fine renaming the knob though |
I don't think the check is correct as it stands. It does not cover scenarios where the JIT switches from unoptimized code to optimized code or vice versa. Also, do crossgen2/ILC even set the I think you should just delay checking for these conditions until we've made all the decisions around optimization level, including switching between optimized/deoptimizing, and switch to |
d2ccc36
to
ea86168
Compare
Failure is #96904 |
Don't forget to cc jit-contrib on PRs. |
Yep, I forgot because Jakob approved it before I requested for review to anyone 🙂 |
We already have
DOTNET_JitDumpTier0
to hide unoptimized dumps, this PR add the same for JitDisasm. Users often don't care about unoptimized asm.