RFR: 8166607: G1 needs klass_or_null_acquire

Kim Barrett kim.barrett at oracle.com
Fri Nov 18 20:53:45 UTC 2016


> On Nov 18, 2016, at 9:28 AM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
> On Fri, 2016-11-18 at 09:03 -0500, Kim Barrett wrote:
>> If the executing invocation of refine_card is from a Java thread,
>> e.g. this is the "mutator helps with refinement" case, calling
>> invalidate would enqueue to the current thread's buffer.  But that is
>> effectively a reentrant call to enqueue, and the Java thread case of
>> enqueue is not reentrant-safe.  Only enqueue to the shared queue is
>> reentrant-safe.
> 
> Yes, that's bad. One could extract this code out and put into the
> barrier set though - as another CR.

https://bugs.openjdk.java.net/browse/JDK-8170020



More information about the hotspot-dev mailing list