Re: [rvm-research] Pre-Tenuring

Eliot Moss <[email protected]> Fri, 10 Aug 2018 15:42:11 -0400
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <[email protected]>
On 8/10/2018 3:19 PM, Shoaib Akram wrote:
> There is one large object space. Objects larger than a threshold are pre-tenured to the large object space as in all default generational collectors. That is perfectly fine!

LOS is not necessarily a *mature* space.  It is different in that objects allocated there are
never moved.  However, I believe that they can *logically* progress from being "nursery" to
being "mature".  The notion of generations can be orthogonal to whether a space is moving or
non-moving.

> Small objects go to the nursery, with the exception that, objects of type T go to the mature (immix) space. Note that in default generational collectors, there is no such pre-tenuring. This is my modification.

Yes, that seems right - it is what pre-tenuring means.

> Pre-tenuring objects of type T creates the problem.
> 
> What I am guessing is that when the GC tries to copy objects from nursery to immix mature space, that creates a problem.

Copy *which* objects?  Pre-tenured objects should not be in the nursery.  They should be allocated
directly into mature space.  Now it is possible that the nursery collector is not expecting that
any objects will have been allocated into mature space since the last collection, and direct
allocation in mature space confuses it.  However, I would expect the mature space allocator to
have been designed such that this is not a problem.

> I am not new to Jikes and have a list of steps that I can follow to get to the root of this. But being in an emergency, I wanted some quick tips in case some one has tried similar things ;)
> 
> Sorry for possibly missing more details.

I think someone more familiar with the specific code will need to help further.

Can an object of type T be large, i.e., allocated into LOS?  If so, I am not sure
what behavior that might lead to.

I am hoping that Steve Blackburn or other MMTk experts will pick up the thread and
help you out on this ...

Bst - EM

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot