RFR (L): 8035857: Add tests to verify correctness of operations with BMI1 and LZCNT instructions

Igor Veresov igor.veresov at oracle.com
Fri Mar 21 17:25:47 UTC 2014


Looks good.

igor

On Mar 21, 2014, at 7:11 AM, Filipp Zhinkin <filipp.zhinkin at oracle.com> wrote:

> Hi,
> 
> I've fixed issues in Asserts.java and made all CPUInfo methods static.
> 
> Updated webrev: http://cr.openjdk.java.net/~iignatyev/fzhinkin/8035857/webrev.01/
> 
> Thanks,
> Filipp.
> 
> On 03/21/2014 12:12 PM, Filipp Zhinkin wrote:
>> Hi Vladimir,
>> 
>> thank you for looking at it.
>> 
>> On 03/21/2014 06:13 AM, Vladimir Kozlov wrote:
>>> Filipp,
>>> 
>>> In Asserts.java (line < longestStringLines.length) condition is strange. First, you don't brake the loop, so iterates until line == minLength. So the condition can simply check (minLength < longestStringLines.length) and you can put 'int line' inside for(). Keep loop index variable outside loop is bad practice.
>> I'll fix it.
>>> 
>>> Can you pass WB into CPUInfo() constructor instead of wb.getCPUFeatures() to shorter expression?:
>>> 
>>> new CPUInfo(wb).hasFeature("bmi1")
>>> 
>>> Or it is difficult?
>> I'll fix it too.
>> 
>> Thanks,
>> Filipp.
>>> 
>>> Thanks,
>>> Vladimir
>>> 
>>> On 3/20/14 12:12 PM, Filipp Zhinkin wrote:
>>>> Hi all,
>>>> 
>>>> I'd like to add new tests that verifies correctness of code that
>>>> use BMI1 and LZCNT instructions.
>>>> 
>>>> Tests executed in two JVM processes - one started in Xint mode
>>>> and other in Xcomp. Results obtained from these processes compared
>>>> and tests pass only if results are equal.
>>>> 
>>>> Despite the fact that there is a test on
>>>> {Integer,Long}::{numberOfLeadingZeros,numberOfTrailingZeros} intrinsics
>>>> (compiler/6823354/Test6823354.java), I've added test cases to cover it
>>>> too in order to verify that everything works fine with explicitly specified
>>>> +UseCountTrailingZerosInstruction and +UseCountLeadingZerosInstruction.
>>>> 
>>>> Test execution will be skipped if CPU on test box does not support
>>>> required features. In order to check supported features new WB method
>>>> was added. WhiteBox::getCPUFeatures() return VM_Version::cpu_features()
>>>> string, which is parsed in order to gather CPU features.
>>>> 
>>>> Webrev: http://cr.openjdk.java.net/~iignatyev/fzhinkin/8035857/webrev.00/
>>>> Testing: JPRT, manual, automated.
>>>> 
>>>> Thanks,
>>>> Filipp.
>> 
> 



More information about the hotspot-compiler-dev mailing list