Fix initialization of resolution sets#8840
Conversation
|
@sivarv @dotnet/jit-contrib PTAL |
|
|
||
| void LinearScan::identifyCandidates() | ||
| { | ||
| VarSetOps::AssignNoCopy(compiler, resolutionCandidateVars, VarSetOps::MakeEmpty(compiler)); |
There was a problem hiding this comment.
Any reason this cannot be done in the class constructor or do you prefer having these here?
There was a problem hiding this comment.
Any reason this cannot be done in the class constructor or do you prefer having these here?
Took me awhile to track this down but it can't be done in the constructor because at that point the set of tracked lclVars hasn't been finalized, so the epoch on the bit sets doesn't match. I've added a comment.
There was a problem hiding this comment.
Any reason this cannot be done in the class constructor or do you prefer having these here?
Took me awhile to track this down but it can't be done in the constructor because at that point the set of tracked lclVars hasn't been finalized, so the epoch on the bit sets doesn't match. I've added a comment.
| // i.e. in the "localDefUse" case. | ||
| // There used to be an assert here that we wouldn't spill such a node. | ||
| // However, we can have unused lclVars that wind up being the node at which | ||
| // it is spilled. This probably indicates a bug, but we don't realy want to |
There was a problem hiding this comment.
Nit: Typo "realy" instead of "really"
|
Looks good. |
|
Ubuntu x64 leg has a failure: GC.Scenarios.DoublinkList.doublinkgen.doublinkgen |
Already there: #6574 |
This was causing a failure during dumping. Fixing it exposed another dumping failure in crossgen of System.Private.Corelib.dll on x86, due to a dead node. I've fixed the assert, but I believe the dead node should have been eliminated. I filed issue #8839 for this.
Took me awhile to track this down but it can't be done in the constructor because at that point the set of tracked lclVars hasn't been finalized, so the epoch on the bit sets doesn't match. I've added a comment. |
Fix initialization of resolution sets Commit migrated from dotnet/coreclr@d69811c
This was causing a failure during dumping.
Fixing it exposed another dumping failure in crossgen of System.Private.Corelib.dll on x86, due to a dead node. I've fixed the assert, but I believe the dead node should have been eliminated. I filed issue #8839 for this.
Fix #8824