RFR (S): 8131734: Add free_archive_regions support to G1 for -Xshared:auto
Tom Benson
tom.benson at oracle.com
Wed Aug 5 14:31:36 UTC 2015
Hi again,
On 8/5/2015 9:52 AM, Thomas Schatzl wrote:
> Hi again,
>
> [...]
>> - I have some question about this code, particularly about the comment:
>>
>> 1137 HeapRegion* start_region = _hrm.addr_to_region(start_address);
>> 1138 HeapRegion* last_region = _hrm.addr_to_region(last_address);
>> 1139
>> 1140 // Check for ranges that start in the same G1 region in which the previous
>> 1141 // range ended, and adjust the start address so we don't try to free
>> 1142 // the same region again. If the current range is entirely within that
>> 1143 // region, skip it.
>> 1144 if ((prev_last_region != NULL) && (start_region == prev_last_region)) {
>> 1145 start_address = start_region->end();
>> 1146 if (start_address > last_address) {
>> 1147 continue;
>> 1148 }
>> 1149 start_region = _hrm.addr_to_region(start_address);
>> 1150 }
>>
>> How could the situation mentioned in line 1140 happen? Are the given
>> memory regions not overlapping already, and the start addresses of these
>> MemRegions at the start of these regions?
> Probably because of using the same memory mapped file created from a VM
> with different (smaller) heap region size?
Right.
Tom
>
> Thanks,
> Thomas
>
>
More information about the hotspot-gc-dev
mailing list