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

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Mon Nov 26 18:08:22 PST 2012


Jiangli,

It looks good.

Thanks,
Serguei

On 11/21/12 11:53 AM, Jiangli Zhou wrote:
> 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