RFR: 8013120 NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check

Karen Kinnear karen.kinnear at oracle.com
Fri May 3 13:08:44 PDT 2013


Zhengyu,

Code looks good. Thanks for the comments and assertions.

A couple of minor questions/comments:
1. memSnapshot.cpp - needs 2013 copyright
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

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