-
Notifications
You must be signed in to change notification settings - Fork 5.2k
JIT: Escape analysis cleanup #114716
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
JIT: Escape analysis cleanup #114716
Conversation
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.
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
| // allocObj - GT_ALLOCOBJ that will be replaced by a stack allocation | ||
| // clsHnd - class representing the stack allocated object | ||
| // isValueClass - we are stack allocating a boxed value class | ||
| // layout - layout for the stack allocated objectd |
Copilot
AI
Apr 15, 2025
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.
Typo in the comment: 'objectd' should be corrected to 'object'.
| // layout - layout for the stack allocated objectd | |
| // layout - layout for the stack allocated object |
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
@jakobbotsch PTAL One diff locally. A boxed object had padding that is now properly modelled during promotion, leading to slightly better code. SPMI misses since we now call |
|
|
||
| if (isValueClass) | ||
| { | ||
| CORINFO_CLASS_HANDLE boxedClsHnd = comp->info.compCompHnd->getTypeForBox(clsHnd); |
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 this purely for correct handling of nullables?
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.
Yes
|
Linux x64 failure might be related, let me see if I can repro it. |
|
No luck with runfo bits so far. Going to retry CI. |
Follow up to #113977
printfAllocin a few placesAddresses JIT side of #114204 -- I have not altered the VM or jit interface yet, to allow this PR to be easily diffable.