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

David Holmes david.holmes at oracle.com
Sun Jan 20 18:29:46 PST 2013


Hi Coleen,

constantPool.cpp:

    // all fields are initialized; needed for GC
-   set_on_stack(false);

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.

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