Skip to content

Conversation

@cshung
Copy link
Contributor

@cshung cshung commented Oct 13, 2022

This change enables HEAPVERIFY=2 for regions.

The reason why HEAPVERIFY=2 didn't work for regions is that we were trying to virtual_commit the full reserved range, but it usually won't work under USE_REGIONS because by default it is 256G large. Instead, the change reserves the full reserved range, and then incrementally commits as the heap grows.

The commits are intentionally bypassing the hard limit check.

@cshung cshung self-assigned this Oct 13, 2022
@ghost
Copy link

ghost commented Oct 13, 2022

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

This change enables HEAPVERIFY=2 for regions.

The reason why HEAPVERIFY=2 didn't work for regions is that we were trying to virtual_commit the full reserved range, but it usually won't work under USE_REGIONS because by default it is 256G large. Instead, the change reserves the full reserved range, and then incrementally commits as the heap grows.

The commits are intentionally bypassing the hard limit check.

Author: cshung
Assignees: cshung
Labels:

area-GC-coreclr

Milestone: -

Copy link
Member

@Maoni0 Maoni0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other than what we talked about about moving where we are calling initGCShadow, it LGTM

@cshung cshung merged commit 50f7ab6 into dotnet:main Oct 21, 2022
@cshung cshung deleted the public/shadow-for-region branch October 21, 2022 07:26
@ghost ghost locked as resolved and limited conversation to collaborators Nov 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants