RFR: Mixed evacuation [v2]

Kelvin Nilsen kdnilsen at openjdk.java.net
Wed Apr 14 16:53:35 UTC 2021


On Fri, 9 Apr 2021 12:57:30 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Chasing bug during prepare_for_old_collection
>>   
>>   One bug fix, a few cosmetic improvements, a change in loop structure to possibly avoid a gcc
>>   optimization error.
>
> src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 439:
> 
>> 437:       // Instead, skip to the following marked object, as indicated by the first following mark bit in
>> 438:       // marking_context.
>> 439:       int size = obj->size();
> 
> I am not sure that it is safe to walk dead oops, e.g. their classes might have been unloaded. I suggest to use marking_context->get_next_marked_addr() instead.

I've fixed this now.

> src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 510:
> 
>> 508:         // Instead, skip to the following marked object, as indicated by the first following mark bit in
>> 509:         // marking_context.
>> 510:         int size = obj->size();
> 
> Same as above

I've also fixed this now.

> src/hotspot/share/gc/shenandoah/shenandoahOldGC.cpp line 167:
> 
>> 165:   //
>> 166:   // TraceCollectorStats tcs(heap->monitoring_support()->concurrent_collection_counters());
>> 167:   // EventMark em("%s", msg);
> 
> Yes, I think we want them.

I've uncommented this so it is now included.

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/29


More information about the shenandoah-dev mailing list