-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Do not peep closure stack symbols #3536
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
96e02ec to
bb752a6
Compare
|
This bug came up in swb branch for test32:core\test\Bugs\randomBugs.js. I don't have a repro for without the flags -forceSoftwareWriteBarrier -verifyBarrierBit yet. It requires a specific pattern of register allocation to raise this bug. With the flags, the result of consecutive LdSlotArr s are assigned 2 different registers and peeps optimizes it incorrectly. Without the flags, am unable to repro such a scenario yet. |
lib/Backend/Peeps.cpp
Outdated
| void | ||
| Peeps::SetReg(RegNum reg, StackSym *sym) | ||
| { | ||
| this->ClearReg(sym->scratch.peeps.reg); |
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.
this->ClearReg(sym->scratch.peeps.reg); [](start = 3, length = 40)
This should probably move bellow your new code.
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 are right, will move this below.
LouisLaf
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.
![]()
45cd22a to
660fefc
Compare
Fixes OS#11093413 PeepAssign optimizes away when it says multiple reloads due to LdSlotArr, because these look like spill reloads. We should avoid doing this for closure symbols.
Merge pull request #3536 from meg-gupta:fixclosure
Merge pull request #3536 from meg-gupta:fixclosure
…tack symbols Merge pull request #3536 from meg-gupta:fixclosure
No description provided.