[15] RFR 8245240: Shenandoah: support nesting evacuation OOM scope

Zhengyu Gu zgu at redhat.com
Tue May 19 12:35:56 UTC 2020



On 5/19/20 8:24 AM, Aleksey Shipilev wrote:
> On 5/19/20 2:15 PM, Zhengyu Gu wrote:
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8245240
>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8245240/webrev.00/index.html
> 
> I haven't looked through the state machine in more detail, but just a few coding nits:
> 
>   *) Do we really want to merge both _nesting_level and _is_evac_oom in the same field? Why can't we
> do it in separate fields? If we do want them to share a byte, I think we have to assert that writes
> to that byte field only happen from the same thread. Otherwise word-tearing bites us.
I don't have a strong opinion, I refactored it out of current layout. 
But there is no chance for word tearing, since it is read/write by the 
same 'current' thread.

> 
>   *) This is just "if (level != 0)", right?
> 

Yea.

>    88   // Not top level, just return
>    89   if (level > 1) {
>    90     return;
>    91   }
> 

Thanks,

-Zhengyu



More information about the shenandoah-dev mailing list