-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Fix DacHeapWalker for USE_REGIONS #56796
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
|
Tagging subscribers to this area: @tommcdon Issue DetailsFixes #56653 There are two key changes in the data structure with respect to heap enumeration.
This fix is sufficient to get heap enumeration working, but it is probably not addressing all uses of the
|
|
why are we not doing the same thing as we did for the I would also not use something like can these actually be put to use? |
Maoni0
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.
the rest LGTM
|
other than those comments above the rest LGTM |
Fixes #56653
This change fixes two issues:
The first issue is that we
generation_allocation_startis no longer defined in thegenerationclass.The fix here is completely analogus to #56056. It is a lot of code, but it is all boilerplate.
The second issue is that unlike in the segment case, gen1 and gen0 have their own linked list of regions.
The removal of the
allocation_startpointer means we no longer have a pointer for the beginning of a generation, and it is easily remedied because the start of the generation is the beginning of the first region in that linked list.This fix is sufficient to get heap enumeration working, but it is probably not addressing all uses of the
generation_allocation_startfield (and potentially also fields whose values are derived from it). That would be out of the scope of the current PR, the remaining work are tracked as issues and they can wait because they are shipped out of band.The work to fix SOS is tracked here and the work to fix clrmd is tracked here.