Request for review: 8003848: Make ConstMethod::generic_signature_index optional and move Method::_max_stack to ConstMethod

Jiangli Zhou jiangli.zhou at oracle.com
Wed Nov 21 11:53:10 PST 2012


Hi,

Please review the following memory reduction change for Method and 
ConstMethod:

   http://cr.openjdk.java.net/~jiangli/8003848/webrev/

Majority of java methods do not have generic signature. For those 
methods, ConstMethod::generic_signature_index are always 0. 
ConstMethod::generic_signature_index can be optional and only allocated 
for methods with generic signature.

The Method class has 2-byte unused due to padding for alignment. 
Method::_max_stack can be moved to ConstMethod after changing 
ConstMethod::generic_signature_index to be optionally allocated. This 
removes an u2 field in Method, and can avoid the 2-byte unused space 
waste due to padding.

Together, above would save 4-bytes for each java method without generic 
signature.

Tested with jprt, runthese and vm.quick.testlist. No measurable 
performance difference with the change for specjvm98 and specjbb2005.

==============================================================================
logs.method_baseline.jbb:
   Benchmark           Samples        Mean     Stdev             Geomean 
Weight
   specjbb2005               3    56252.53    284.79
==============================================================================
logs.method.jbb.1:
   Benchmark           Samples        Mean     Stdev   %Diff     P  
Significant
   specjbb2005               3    56350.15    626.79    0.17 
0.823            *
==============================================================================

==============================================================================
logs.method_baseline.spec:
   Benchmark           Samples        Mean     Stdev             Geomean 
Weight
   specjvm98                 8      543.39     11.93
==============================================================================
logs.method.spec.1:
   Benchmark           Samples        Mean     Stdev   %Diff     P  
Significant
   specjvm98                 8      544.21      9.56    0.15 
0.881            *
==============================================================================


Thanks,
Jiangli


More information about the hotspot-runtime-dev mailing list