RFR: 8230853: Shenandoah: replace leftover is_in asserts with rich asserts

Aditya Mandaleeka adityam at microsoft.com
Mon Mar 9 20:11:34 UTC 2020


> Process thing: the RFR subject should be exactly the bug synopsis

Totally makes sense (and in fact I relied on that while searching for some stuff :)). Will do that going forward.

> In the end, this is the patch:
>   https://cr.openjdk.java.net/~shade/8230853/webrev.02/
>
> Agree?

Yes, that looks good to me, and thanks for catching the issue with slowdebug!

-Aditya

-----Original Message-----
From: Aleksey Shipilev <shade at redhat.com> 
Sent: Monday, March 9, 2020 4:27 AM
To: Aditya Mandaleeka <adityam at microsoft.com>; shenandoah-dev <shenandoah-dev at openjdk.java.net>
Subject: Re: RFR: 8230853: Shenandoah: replace leftover is_in asserts with rich asserts

On 3/8/20 8:49 PM, Aditya Mandaleeka wrote:
> Bug: https://bugs.openjdk.java.net/browse/JDK-8230853
> Patch: As I don't yet have access to cr.openjdk.java.net, I am pasting the patch below.

*) Process thing: the RFR subject should be exactly the bug synopsis:
  "Shenandoah: replace leftover is_in asserts with rich asserts"

*) in_collection_set_loc(void*) addition does not really work. Slowdebug build would fail with:
 jdk-jdk/src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp:74:92: error: invalid conversion from
'void*' to 'oop {aka oopDesc*}' [-fpermissive]

 Luckily, we don't even need these asserts, because ShenandoahCollectionSet::is_in has one.
Unfortunately, we cannot use the rich assert there, because it needs to accept arbitrary HeapWord*
:/ So reverting that part is in order. It should probably be void*, not HeapWord* to begin with.

In the end, this is the patch:
  https://cr.openjdk.java.net/~shade/8230853/webrev.02/

Agree?

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list