RFR: Test failures after "Reinstate single-threaded reference processing"
Roman Kennke
roman at kennke.org
Wed Oct 17 07:25:59 UTC 2018
Ok. Sorry, I guess I did not read the whole comment.
Roman
> Current tier3_gc_shenandoah is broken in release, because critical WeakProcessor block is ASSERT-ed
> out, contrary to what comment says:
>
> // Process leftover weak oops: update them, if needed (using parallel version),
> // or assert they do not need updating (using serial version) otherwise.
> // Weak processor API requires us to visit the oops, even if we are not doing
> // anything to them.
> if (_heap->has_forwarded_objects()) {
> ...
> } else {
> ...
> #ifdef ASSERT
> ShenandoahWeakAssertNotForwardedClosure cl;
> WeakProcessor::weak_oops_do(is_alive.is_alive_closure(), &cl);
> #endif
> }
>
> Fix:
>
> --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Tue Oct 16 22:59:23 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp Wed Oct 17 09:14:09 2018 +0200
> @@ -715,14 +715,13 @@
> &complete_gc, &executor,
> &pt);
> -#ifdef ASSERT
> ShenandoahWeakAssertNotForwardedClosure cl;
> WeakProcessor::weak_oops_do(is_alive.is_alive_closure(), &cl);
> -#endif
> }
>
>
> Testing: tier3_gc_shenandoah (release)
>
> Thanks,
> -Aleksey
>
>
More information about the shenandoah-dev
mailing list