RFR (S): 8038930: G1CodeRootSet::test fails with assert(_num_chunks_handed_out == 0) failed: No elements must have been handed out yet

Thomas Schatzl thomas.schatzl at oracle.com
Tue Apr 15 10:23:50 UTC 2014


Hi,

On Mon, 2014-04-14 at 16:56 +0200, Bengt Rutisson wrote:
> 
> Hi Thomas,
> On 4/14/14 10:33 AM, Thomas Schatzl wrote:
> > Hi all,
> > 
> > On Wed, 2014-04-02 at 16:23 +0200, Thomas Schatzl wrote:
> > > Hi all,
> > > 
> > >   can I have reviews for the following fix for a test case?
> >   Bengt found a race situation where the test fails when compilation is
> > running while the test is run.
> > 
> > Instead of trying to find a way to synchronize the test with the
> > compiler, I changed the code to allow multiple code root chunk free
> > lists - the test uses one separate from the global one, so there are no
> > more synchronization problems, and the original change to remember the
> > number of already allocated code root chunks is superfluous too.
> > 
> > CR:
> > https://bugs.openjdk.java.net/browse/JDK-8038930
> > 
> > Here is a new webrev:
> > http://cr.openjdk.java.net/~tschatzl/8038930/webrev.1/
> 
> This looks good to me.
> 
> I think I would have preferred passing exposing
> G1CodeRootSet::_default_chunk_manager and explicitly passing that when
> initializing HeapRegionRemSet::_code_roots rather than having the
> special treatment of the default value NULL in the G1CodeRootSet
> constructor. I'll leave it to you to decide.

This would require me to make the default chunk manager public. I want
to avoid that. Passing that reference would be the only valid use, no
other uses of this reference are desired.

If nobody else objects, I would like to keep the code as is.

> Otherwise it looks good.

Thanks,
  Thomas





More information about the hotspot-gc-dev mailing list