Request for review: 7117052 instanceKlass::_init_state can be u1 type

David Holmes david.holmes at oracle.com
Wed Dec 7 21:21:28 PST 2011


On 8/12/2011 3:47 AM, Jiangli Zhou wrote:
> Hi David,
>
> On 12/06/2011 09:53 PM, David Holmes wrote:
>> On 7/12/2011 5:23 AM, Jiangli Zhou wrote:
>>> Hi David and Tom,
>>>
>>> I ran nsk/sajdi/ tests for the class state changes. Comparing to a
>>> baseline, there is no new failure in those tests.
>>>
>>> The changes do not seem to have noticeable performance impact. Specjvm98
>>> shows only noise variation (-0.06 ~ 0.39).
>>
>> Something more classloading intensive might be a better choice -
>> specjbb perhaps? I'm not sure which benchmarks exercise which
>> facilities the most.
>
> My laptop is not fast enough to run specjbb. The benchmark was killed
> after time limit. Is there a way to increase time limit for refworkload?

No idea - sorry. But performance runs should be carried it out in a 
suitable environment. Our own laptops/dev-machines are only good for 
quick "back of the envelope" checks. Proper performance runs need to be 
done on dedicated machines under the right conditions.

David
-----
> Thanks,
> Jiangli
>
>>
>> Thanks,
>> David
>> -----
>>
>>> ==============================================================================
>>>
>>>
>>> logs.baseline:
>>> Benchmark Samples Mean Stdev Geomean Weight
>>> specjvm98 3 264.56 4.50
>>> ==============================================================================
>>>
>>>
>>> logs.1:
>>> Benchmark Samples Mean Stdev %Diff P Significant
>>> specjvm98 3 264.41 11.12 -0.06 0.984 *
>>> ==============================================================================
>>>
>>>
>>>
>>>
>>> ==============================================================================
>>>
>>>
>>> logs.baseline:
>>> Benchmark Samples Mean Stdev Geomean Weight
>>> specjvm98 3 264.56 4.50
>>> ==============================================================================
>>>
>>>
>>> logs.1.2:
>>> Benchmark Samples Mean Stdev %Diff P Significant
>>> specjvm98 3 265.61 4.92 0.39 0.800 *
>>> ==============================================================================
>>>
>>>
>>>
>>>
>>> Thanks,
>>> Jiangli
>>>
>>>
>>> On 12/06/2011 10:10 AM, Tom Rodriguez wrote:
>>>> You can run them using ute,
>>>> /net/sqenfs-1.us.oracle.com/export1/tools/gtee/bin/ute. Use -jdk to
>>>> specify the test JDK, -vmopts to pass any options and -test select a
>>>> suite. nsk/sajdi/ and tmtools/ are the main ones that exercise the SA.
>>>> nsk/sajdi has quite a few known failures so it can be tricky to
>>>> evaluate the results.
>>>>
>>>> tom
>>>>
>>>> On Dec 5, 2011, at 5:21 PM, Jiangli Zhou wrote:
>>>>
>>>>> Hi David,
>>>>>
>>>>> Thanks for the review and suggestions. Could you please let me know
>>>>> where I can find SA tests and instructions for running those tests?
>>>>>
>>>>> I'm double check the performance impact.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Jiangli
>>>>>
>>>>> On 12/04/2011 06:17 PM, David Holmes wrote:
>>>>>> On 3/12/2011 4:55 AM, Jiangli Zhou wrote:
>>>>>>> Hi David,
>>>>>>>
>>>>>>> Thanks for catching that. I changed the debug version of
>>>>>>> set_init_state(). The updated webrev is
>>>>>>> http://cr.openjdk.java.net/~jiangli/7117052/webrev.01/.
>>>>>> Thanks - that update looks fine.
>>>>>>
>>>>>> Have you run SA tests to confirm no impact on SA code?
>>>>>>
>>>>>> Have you run any performance tests?
>>>>>>
>>>>>> David
>>>>>> -----
>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Jiangli
>>>>>>>
>>>>>>> On 12/01/2011 05:18 PM, David Holmes wrote:
>>>>>>>> As already mentioned in internal email, there seem to be changes
>>>>>>>> missing for debug builds. In instanceKlass set_init_state has two
>>>>>>>> implementations - one for product and one for debug. The debug
>>>>>>>> version
>>>>>>>> has not been modified to accommodate the change in type.
>>>>>>>>
>>>>>>>> David
>>>>>>>>
>>>>>>>> On 2/12/2011 4:51 AM, Jiangli Zhou wrote:
>>>>>>>>> The instanceKlass::_init_state is defined as
>>>>>>>>> instanceKlass::ClassState
>>>>>>>>> type, which is an enum. Currently there are 7 class states
>>>>>>>>> defined. The
>>>>>>>>> instanceKlass::_init_state can be changed to u1 type, which could
>>>>>>>>> hold
>>>>>>>>> up 256 states. There are unused bytes after
>>>>>>>>> instanceKlass::_idnum_allocated_count field. Changing _init_state
>>>>>>>>> to u1
>>>>>>>>> and move it to after the _idnum_allocate_count field would save
>>>>>>>>> 4-byte
>>>>>>>>> for each loaded class.
>>>>>>>>>
>>>>>>>>> http://cr.openjdk.java.net/~jiangli/7117052/webrev.00/
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Jiangli
>>>>>>>>>
>>>
>


More information about the hotspot-compiler-dev mailing list