RFR: 8013120 NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check
Zhengyu Gu
zhengyu.gu at oracle.com
Fri May 3 13:19:34 PDT 2013
Karen,
Thanks for review.
On 5/3/2013 4:08 PM, Karen Kinnear wrote:
> Zhengyu,
>
> Code looks good. Thanks for the comments and assertions.
>
> A couple of minor questions/comments:
> 1. memSnapshot.cpp - needs 2013 copyright
I will fix it.
> 2. in memSnapshot.cpp
> the assertion you have is >= low_addr and <= high_addr
> - is this correct? I couldn't figure out the correct answer, but usually it would
> be >= low_addr and < high_addr - I don't know that it is wrong, just asking
> for clarification
This is correct, since this is the comparison between the reserved range
and committed range, both high addresses are exclusive.
Thanks,
-Zhengyu
> thanks,
> Karen
>
> On May 1, 2013, at 10:38 AM, Zhengyu Gu wrote:
>
>> I added comments in remove_released_region() to explain how virtual memory records are arranged in snapshot, and the loop to remove committed records following the reservation record.
>>
>> Please review updated webrev: http://cr.openjdk.java.net/~zgu/8013120/webrev.02/ <http://cr.openjdk.java.net/%7Ezgu/8013120/webrev.02/>
>>
>> Thanks,
>>
>> -Zhengyu
>>
>>
>> On 4/25/2013 2:18 PM, Zhengyu Gu wrote:
>>> NMT expects all committed regions are uncommitted before the whole reserved region can be released. It was the case until 8011268.
>>>
>>> This change allows NMT to handle the scenario that virtual memory is being released while there are committed segments within the reserved region.
>>>
>>> It also fixed a missing virtual memory tag when ArrayAllocator allocates from virtual memory.
>>>
>>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8013120
>>> Webrev: http://cr.openjdk.java.net/~zgu/8013120/webrev.00/ <http://cr.openjdk.java.net/%7Ezgu/8013120/webrev.00/>
>>>
>>> Thanks,
>>>
>>> -Zhengyu
More information about the hotspot-dev
mailing list