RFR: 8351091: Shenandoah: global marking context completeness is not accurately maintained [v2]

Xiaolong Peng xpeng at openjdk.org
Wed Mar 5 21:50:09 UTC 2025


On Tue, 4 Mar 2025 23:11:20 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Always use active_generation()->complete_marking_context() during reference processing
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp line 737:
> 
>> 735: public:
>> 736:   inline ShenandoahMarkingContext* complete_marking_context(ShenandoahHeapRegion* region) const;
>> 737:   inline ShenandoahMarkingContext* marking_context() const;
> 
> Should document semantics of both methods, please!

I'll add some comments for both.
Also I'm feel the assert is not enough, I feel we should change the `assert` in   complete_marking_context to `guarantee`, should be something like:


guarantee(is_mark_complete(), "Marking must be completed.");
return ShenandoahHeap::heap()->marking_context();

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23886#discussion_r1982236158


More information about the shenandoah-dev mailing list