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

Aleksey Shipilev shade at redhat.com
Mon Mar 9 11:27:20 UTC 2020


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