RFR: Fix safepoint
Roland Westrelin
rwestrel at redhat.com
Thu Jun 30 07:27:02 UTC 2016
> In Safepoint::push_monitor() we skip over shenandoah barriers when
> linking a lock's object to the safepoint. I think that's wrong. The
> inputs to a SafepointNode are used to build the oopmap for that
> safepoint. If have this wb->sp->lock, and at the safepoint, the output
> of the wb is not in the oopmap, we may get a fromspace-ref in the
> locking code.
>
> The patch reverts back to the original code that does not skip the
> shenandoah barrier. It fixes SPECjvm benchmarks that were crashing
> before.
>
> http://cr.openjdk.java.net/~rkennke/fixsafepoint/webrev.01/
>
> Ok to commit+push?
Could this be fixed on the runtime/GC side?
Scalar replaced objects are also affected by a similar problem AFAICT.
It's not optimal to keep barriers in the code that are potentially useless.
Roland.
More information about the shenandoah-dev
mailing list