-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: refine handle blocking logic #1788
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
Conversation
Assertion prop uses `O2K_CONST_INT` for handles, even on 64 bit targets. Make suitable adjustments to the handle propagation blocking logic. Problem was introduced in dotnet#1593 and exposed by dotnet#1309. Fixes dotnet#1777
|
cc @dotnet/jit-contrib |
trylek
left a comment
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.
LGTM, thanks for the lightning-fast turnaround!
briansull
left a comment
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.
Looks Good, with one comment
| { | ||
| return nullptr; | ||
| } | ||
| #endif |
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.
You could add an assert here to insure that no change introduces a TYP_LONG witha reloc:
assert((curAssertion->op2.u1.iconFlags & GTF_ICON_HDL_MASK) == 0);
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.
How about adding this kind of check to optDebugCheckAssertion?
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.
Might make sense to merge this to unblock crossgen2 and add the assert in another PR.
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 am fine with that
Follow-up from dotnet#1788. Also remove an arm-only handle block that should now be redundant.
Follow-up from #1788. Add padding to `AssertionDsc` so that the `iconFlags` no longer overlap with `lconVal`. Assert that `iconFlags` is never set for an O2K_CONST_LONG assertion. Also remove an arm-only handle block that should now be redundant.
Assertion prop uses
O2K_CONST_INTfor handles, even on 64 bit targets. Makesuitable adjustments to the handle propagation blocking logic.
Problem was introduced in #1593 and exposed by #1309.
Fixes #1777