-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Conversation
I'd rather see this a distinct flag value in corjit.h with the "mapping" onto minopts done on the jit side over in |
I think it could be useful to have three different views and two mappings:
(and extrapolating from that, I think it would make sense e.g. to move the "use minopts for cctors" rule to the VM side...) Or am I over-thinking it and the interface should just be the current flags plus a bit to set on tier 0? |
I'd like to see a discretionary policy decisions happen in one place if possible, which likely means they should happen in the jit. If the VM knows something about a method that entails certain codegen, then it can ask for it specifically. But if it is up to the jit what kind of code is appropriate, then let's try and put all that logic in one place, and have the VM pass in whatever extra information it has to the jit, so the jit can make reasonable choices. |
I'm happy to do whatever works for you guys. @JosephTremoulet if you agree with @AndyAyersMS let me know and I'll make the update. If you want to continue discussing I'll wait to make further changes until an agreement has been reached. No rush at my end. |
That sounds reasonable. Extrapolating from that, then, it seems like
Does that all sound right? |
Thanks Joe!
I think it is very reasonable for arbitrary jit instrumentation to be a trigger for tiered compilation, but it is not something I am trying to build in the short term. I think it will be something we want longer term and I'll avoid doing anything that would make it harder to achieve when the time comes.
If you want single-shot to potentially be different than tier 1 we should have a distinct flag. Even when FEATURE_TIERED_COMPILATION is on, there are still going to be methods that we determine can't be tiered for various reasons.
I'm not opposed at all to the principle, but just for logistics I'm going to leave my change scoped to work that is immediately relevant for tiered jitting. |
b6086d9
to
437177f
Compare
LGTM (assuming formatting fix), except I'd expect we should update the JIE/EE interface guid |
LGTM too. |
Did I miss a comment somewhere? I'm not sure what you are refering to. |
There are formatting legs failing in CI. Details should be there in the logs. You can:
|
Ah thanks! I checked the logs and all makes sense once again. |
These flags provides a hook to change the JIT policy in the future and diverge tier0/tier1 compilation from min_opt/speed_opt respectively.
437177f
to
4561dad
Compare
@dotnet-bot test Tizen armel Cross Debug Build |
This flag provides a hook to change the JIT policy in the future and diverge tier0 compilation from the min_opt policy.
This is a follow up change discussed in #10478
We can replace this flag as needed with even more flexible settings mechanisms, but this is a simple place to start.