review request (S/M): 6962931 move interned strings out of perm gen

Coleen Phillimore coleen.phillimore at
Thu Feb 17 08:21:00 PST 2011

I have reviewed and tested this.  I have a couple of comments.

The option ScavengeRootsInCode is a bit confusing since this is moving 
all strings out of permgen so shouldn't depend on a flag that has 
meaning to the compiler.  I'd like to see the code conditional on this 
flag removed.

The other comment I have is based on ignorance.  Isn't "tenured' the old 
generation?  So create_tenured_from_unicode() calls basic_create() with 
a tenured flag and it either allocates the string in permgen or eden, so 
it doesn't make sense if I have the correct meaning of tenured.

This would be fixed if the conditional code is removed also, if not, the 
names should be changed.  There is also a create_from_unicode() that is 
uncalled, presumably because someone added create_tenured_from_unicode().


On 2/16/2011 2:05 PM, Tom Rodriguez wrote:
> I had assumed we'd be switching so that strings were always outside perm by default.  ScavengeRootsInCode must be != 0 once invokedynamic is enabled by default and since that's definitely going to be enabled in 7 don't we want to turn all this on?
> tom
> On Feb 16, 2011, at 10:10 AM, John Coomes wrote:
>> This moves interned strings from the perm gen into the regular heap.
>> The code was written by Tom Rodriguez; I've added a minor fix and done
>> the testing.  More info in the webrev:
>> Thanks for any feedback.
>> -John

More information about the hotspot-dev mailing list