RFR: Allow young collection to suspend marking in old generation [v14]

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Mon Mar 1 18:35:55 UTC 2021


On Mon, 1 Mar 2021 14:16:32 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> earthling-amzn has updated the pull request incrementally with three additional commits since the last revision:
>> 
>>  - Encode active generation and old generation marking status
>>  - Do not unset preemption request flag prematurely
>>  - Disable reference processing generational mode
>
> src/hotspot/share/gc/shenandoah/shenandoahScanRemembered.hpp line 28:
> 
>> 26: // During development of this new feature, we want the option to test
>> 27: // with and without, and to compare performance before and after.
>> 28: #define FAST_REMEMBERED_SET_SCANNING
> 
> You'll still want the normal #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHSCANREMEMBERED_HPP protection, don't you?

Guards were further down in the file, I pulled them up closer to where you'd expect them.

> src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp line 423:
> 
>> 421: }
>> 422: 
>> 423: void ShenandoahHeapRegion::oop_iterate_objects(OopIterateClosure* blk, bool fill_dead_objects, bool reregister_coalesced_objects) {
> 
> I wonder if this is better done as two separate methods: the normal/old oop_iterate_objects() and a new one that also fills dead objects?

We have some work in progress (scheduled for completion these next two weeks) that will remove the need to fill dead objects. I'd rather clean this up as part of those changes.

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

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


More information about the shenandoah-dev mailing list