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

Roman Kennke rkennke at redhat.com
Tue May 19 19:38:12 UTC 2020


It looks correct and good to me.

I don't have a strong opinion regarding packed fields or separate
fields. Bitfield access seems slightly awkward (I had to look it up to
see what it actually is), otoh, space is limited in TL, so... ?

Roman

> 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 hotspot-gc-dev mailing list