Review request (S) 8003553: NPG: metaspace objects should be zeroed in constructors

Coleen Phillimore coleen.phillimore at oracle.com
Wed Mar 6 13:25:02 PST 2013


Jon,
Thank you for reviewing this change.

On 03/06/2013 12:26 AM, Jon Masamitsu wrote:
> http://cr.openjdk.java.net/~coleenp/8003553/src/share/vm/oops/cpCache.cpp.udiff.html 
>
>
> *-  ConstantPoolCache* ConstantPoolCache::allocate(ClassLoaderData* 
> loader_data,  int length, TRAPS) {*
> *+                                      int length,*
> *+                                      const intStack& index_map,*
> *+                                      const intStack& 
> invokedynamic_map, TRAPS) {
> *
>
> Why did you not move the TRAP  parameter to a new line?
>

I think TRAPS aren't interesting enough and short enough not to merit 
their own line.

> http://cr.openjdk.java.net/~coleenp/8003553/src/share/vm/oops/methodData.cpp.udiff.html 
>
>
> Did you remove the TieredCompilation test
>
> *if (TieredCompilation) {
> *
>
> for consistency of initialization?

Yes, I did.  I don't know if people will object but I think it's more 
sanitary to have these zero initialized even if they are not used in 
!TieredCompilation.   And I had a consistency check that I took out that 
flagged these.

>
>
> http://cr.openjdk.java.net/~coleenp/8003553/src/share/vm/oops/klass.hpp.udiff.html 
>
>
> *   #ifndef PRODUCT*
> *     int           _verify_count;  // to avoid redundant verifies*
> *   #endif*
>
> Not concerned about redundant verifies anymore?
>

I moved it from Klass* to InstanceKlass* where it's used.   It still 
protects us from redundant verifies.

> Rest looks good.
>

Thanks!
Coleen

> Jon
>
>
> On 3/5/2013 11:30 AM, Coleen Phillimore wrote:
>>
>> Adding hotspot-dev to get some more potential reviewers from maybe 
>> the GC team, hint...
>>
>> Coleen
>>
>> On 03/04/2013 03:02 PM, Coleen Phillimore wrote:
>>> Summary: Zero metadata in constructors, not in allocation (and some 
>>> in constructors)
>>>
>>> This seems like a good first step in passing initial values into 
>>> constructors and no initializing metadata types by the callers 
>>> (although a lot more parameters will have to be passed for some).
>>>
>>> Tested with runThese jck, NSK vm.quick.testlist, lang and vm jck8, 
>>> java/lang/annotation jtreg tests and java/lang/invoke jtreg tests.
>>>
>>> open webrev at http://cr.openjdk.java.net/~coleenp/8003553/
>>> bug link at http://bugs.sun.com/view_bug.do?bug_id=8003553
>>>
>>> Thanks,
>>> Coleen
>>>
>>>
>>
>



More information about the hotspot-dev mailing list