[12] RFR(S) 8207153: Some intrinsic tests take long time to run
Mikael Vidstedt
mikael.vidstedt at oracle.com
Mon Aug 13 18:34:40 UTC 2018
> On Aug 13, 2018, at 9:57 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> On 8/13/18 9:44 AM, Mikael Vidstedt wrote:
>> Two questions:
>> 1. What happens if somebody decides to rename to Java method(s), but forgets to update the test?
>
> WB.isIntrinsicAvailable() if intrinsic for old method is not available - there will be no ID for it and we will hit assert:
>
> http://hg.openjdk.java.net/jdk/jdk/file/9fe4fc157f4e/src/hotspot/share/opto/c2compiler.cpp#l164
>
>> 2. Can/should we force this test to only run on machines where the underlying instructions are in fact available?
>
> WB.isIntrinsicAvailable() checks flag:
>
> http://hg.openjdk.java.net/jdk/jdk/file/9fe4fc157f4e/src/hotspot/share/classfile/vmSymbols.cpp#l712
>
> and flag is set only when HW instructions are available:
>
> http://hg.openjdk.java.net/jdk/jdk/file/9fe4fc157f4e/src/hotspot/cpu/x86/vm_version_x86.cpp#l755
Sorry, I wasn’t clear: What I’m wondering is if we should *require* the test to be scheduled on a machine where the intrinsic is available, so that it actually gets tested. Right now it’s a lottery if the test ends up executing on a machine with that functionality, which could mean that the test never or very rarely actually does end up running. However, there’s probably a risk that doing this would make some machines bottlenecks for testing, so may not be a good idea in the end…
Cheers,
Mikael
>
> Vladimir
>
>> Cheers,
>> Mikael
>>> On Aug 10, 2018, at 5:05 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> http://cr.openjdk.java.net/~kvn/8207153/webrev.00/
>>> https://bugs.openjdk.java.net/browse/JDK-8207153
>>>
>>> Use WhitBox API isIntrinsicAvailable() to guard execution of TestAESMain.java and TestBase64.java.
>>> Also reduced number of loop iterations from 1M to 100K. Tests run with -Xbatch - compilation is guarantee with smaller number. And I checked results with +LogCompilation.
>>>
>>> Tested by running these 2 tests on X86 and SPARC.
>>> And run locally using intrinsics flag to switch them off to confirm that new guard in tests works.
>>>
>>> --
>>> Thanks,
>>> Vladimir
More information about the hotspot-compiler-dev
mailing list