Request for review (xs) 8006040: NPG: on_stack processing wastes space in ConstantPool

Coleen Phillimore coleen.phillimore at oracle.com
Tue Jan 22 11:21:34 PST 2013


David,

Thank you for noticing my code review!!   I have an update at
http://cr.openjdk.java.net/~coleenp/8006040/
that addresses  your comments.
I need another reviewer!

On 01/20/2013 09:29 PM, David Holmes wrote:
> Hi Coleen,
>
> constantPool.cpp:
>
>    // all fields are initialized; needed for GC
> -   set_on_stack(false);

I don't think this comment means anything anymore.   I think it had 
something to do with the constantPoolOop object being partially 
initialized when hitting a GC point before Permgen was eliminated. I'll 
remove the comment also.

>
> Isn't the comment tied to the now deleted line?
>
> !   if (has_pseudo_string() || has_invokedynamic() || 
> has_preresolution()) {
>       if (has_pseudo_string()) st->print(" has_pseudo_string");
>       if (has_invokedynamic()) st->print(" has_invokedynamic");
>       if (has_preresolution()) st->print(" has_preresolution");
>       st->cr();
>     }
>
> The double-checking of the conditions here is not nice.

I had this change for a previous version so that the flags could be all 
on one line (and _flags was removed in my previous version).  I restored 
the code and added printing the on_stack flag too.

Coleen

>
> Otherwise flag changes look good, as do moving MetadataMarkOnStack 
> segements.
>
> Thanks,
> David
>
> On 19/01/2013 2:41 AM, Coleen Phillimore wrote:
>>
>> This is relatively easy, anyone? Also, it doesn't affect the SA. I 
>> checked.
>> Thanks,
>> Coleen
>>
>> On 1/16/2013 4:23 PM, Coleen Phillimore wrote:
>>> Summary: Added on_stack bit to _flags. Also MetadataMarkOnStack is
>>> used for more than JVMTI so had to be moved.
>>>
>>> Confirmed with John and Chris that setting invokedynamic bits doesn't
>>> require atomic operations so I can add on_stack to the flags.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/8006040/
>>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8006040
>>>
>>> Tested NSK quick.testlist and runThese.
>>>
>>> Thanks,
>>> Coleen
>>



More information about the hotspot-runtime-dev mailing list