RFR: 8303334: Further improve liveness/remembered set verification for G1

Albert Mingkun Yang ayang at openjdk.org
Thu Mar 2 13:15:11 UTC 2023


On Wed, 1 Mar 2023 15:02:01 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   can I have reviews for this additional refactoring of the liveness/remembered set code? After having pushed [JDK-8302760](https://bugs.openjdk.org/browse/JDK-8302760), @albertnetymk suggested some more changes to improve readability mainly in `G1VerifyLiveAndRememberedSetsClosure` to make program flow more obvious.
> I.e. it separates the steps of detecting and reporting the failures explicitly.
> Everything else follows that.
> 
> Testing: local compilation, gha, testing on some failure code
> 
> Thanks,
>   Thomas

Minor comments.

src/hotspot/share/gc/g1/heapRegion.cpp line 535:

> 533:   template <class T>
> 534:   class LiveChecker : public Checker<T> {
> 535:   public:

Maybe `struct` is enough, since everything is public?

src/hotspot/share/gc/g1/heapRegion.cpp line 545:

> 543: 
> 544:     bool failed() const {
> 545:       return !_is_in_heap || this->_g1h->is_obj_dead_cond(this->_obj, _vo);

Not sure why `this->` is there. I think breaking the boundary btw child & super class is fine in this particular patch.

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

Marked as reviewed by ayang (Reviewer).

PR: https://git.openjdk.org/jdk/pull/12807


More information about the hotspot-gc-dev mailing list