RFR: 8252104: parallel heap inspection for ShenandoahHeap [v3]

Lin Zang lzang at openjdk.java.net
Sat Sep 12 00:17:58 UTC 2020


On Fri, 11 Sep 2020 13:54:38 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> Thank you, we'll take a look next week.
>
> Hi Lin,
> 
> 1) The patch does not compile with assertion on
> @@ -1490,7 +1490,7 @@ private:
>        cl->do_object(obj);
>        obj->oop_iterate(&oops);
>      }
> -    assert(q.is_empty(), "should be empty");
> +    assert(q->is_empty(), "should be empty");
> 
> 2) I don't like to export following methods as public. Instead, you can declare ShenandoahParallelObjectIterator as
> friend class of ShenandoahHeap.
>    void scan_roots_for_iteration(Stack<oop, mtGC>* oop_stack, ObjectIterateScanRootClosure* oops);
>    bool prepare_aux_bitmap_for_iteration();
>    void reclaim_aux_bitmap_for_iteration();
> 
> 3) Please rename ObjectIterateParScanClosure to ShenandoahObjectIterateParScanClosure for code convention
> 
> 4) There is no point to seed mark roots if prepare_aux_bitmap_for_iteration() failed in
> ShenandoahParallelObjectIterator constructor.

Hi @zhengyu123 ,
Thanks for your comments!  I have refined the code and update the PR.
-Lin

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

PR: https://git.openjdk.java.net/jdk/pull/67


More information about the serviceability-dev mailing list