[9] RFR(S): 8056067: NodeHash debug variables are available in product build

Tobias Hartmann tobias.hartmann at oracle.com
Fri Aug 29 08:01:15 UTC 2014


Thank you, Vladimir.

Best,
Tobias

On 28.08.2014 18:06, Vladimir Kozlov wrote:
> Changes are good.
>
> Thanks,
> Vladimir
>
> On 8/28/14 5:24 AM, Tobias Hartmann wrote:
>> Hi,
>>
>> please review the following patch that fixes JDK-8056067.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8056067
>> Webrev: http://cr.openjdk.java.net/~thartmann/8056067/webrev.00/
>>
>> Problem:
>> Some members of NodeHash are only needed in debug/optimized builds 
>> but are also available in product. For example,
>> '_grows' is incremented in 'NodeHash::grow' but only accessed for 
>> debugging in NodeHash::dump(). Other members like
>> '_look_probes' are only maintained in debug and therefore contain no 
>> information in product and optimized (see [1]).
>>
>> Solution:
>> Make variables only available in debug/optimized.
>>
>> Testing:
>> - Checked output of 'java -XX:+PrintCompilation 
>> -XX:+PrintOptoStatistics -XX:+Verbose' with fastdebug, optimized and
>> product build
>> - JPRT
>>
>> Thanks,
>> Tobias
>>
>>
>> [1]
>> Output of java -XX:+PrintCompilation -XX:+PrintOptoStatistics 
>> -XX:+Verbose
>>
>> fastdebug build:
>> GVN Hash stats: 0 grows to 512 max_size
>>    28/512 ( 5.5% full)
>>    30p/(0h+36m) ( 0.83 probes/lookup)
>>    0p/28i ( 0.00 probes/insert)
>>
>> optimized build:
>> GVN Hash stats: 0 grows to 512 max_size
>>    28/512 ( 5.5% full)
>>    0p/(0h+0m) ( -nan probes/lookup)
>>    0p/28i ( 0.00 probes/insert)
>>
>> The third line of the output shows wrong values with the optimized 
>> build.
>>



More information about the hotspot-compiler-dev mailing list