Thanks, tier3 it is!
I am curious about how those tests can be co-opted for HS tiers. Can you share
details on the panama-dev thread?
Paul.
diff -r a606409980d6 test/jdk/TEST.groups
--- a/test/jdk/TEST.groups Fri May 15 17:23:27 2020 -0700
+++ b/test/jdk/TEST.groups Wed May 20 10:28:34 2020 -0700
@@ -72,6 +72,7 @@
tier3 = \
:build \
+ :jdk_vector
:jdk_rmi \
:jdk_beans \
:jdk_imageio \
@@ -338,6 +339,9 @@
jdk_foreign = \
java/foreign
+jdk_vector = \
+ jdk/incubator/vector
+
#############################
#
> On May 19, 2020, at 5:06 PM, Ekaterina Pavlova <[email protected]>
> wrote:
>
> As I wrote to openjdk alias tier3 seems to be more reasonable tier for
> incubating feature tests.
>
> Once the tests will be integrated we will also need to add these tests into
> hs-comp tiers to be tested with
> additional compiler flags (like -Xcomp).
>
> -katya
>
>
> On 5/19/20 3:25 PM, Paul Sandoz wrote:
>> I just realized that the vector tests have not been included in any JDK test
>> category e.g. tier1.
>> Ordinarily I would expect the tests to be added to tier1 since the tests
>> exercise intrinsics. However, those intrinsics are only enabled with the
>> Vector API module so we could place in another tier to potentially reduce
>> the cost of testing.
>> Advice very much appreciate on which tier the tests should belong to.
>> Paul.
>>> On May 18, 2020, at 12:13 PM, Paul Sandoz <[email protected]> wrote:
>>>
>>> HI,
>>>
>>> Here’s an update of the API and implementation webrevs based on (mostly)
>>> API feedback. We have removed the performance tests to make the review
>>> easier (those will be dealt with separately to integration as a follow on
>>> task).
>>>
>>> I think over the past year and recently via the CSR the API has had
>>> significant review. Reviews focusing on the Java implementation and tests
>>> would be greatly appreciated.
>>>
>>> It’s worth reiterating that the implementation and tests are quite
>>> formulaic, there is a lot of code that is generated from templates, so it's
>>> possible to focus on the template + subset (e.g. byte, long, float, and
>>> sizes of say 256, max).
>>>
>>> Notable changes from the prior webrev are:
>>>
>>> - Removal of the fromValues methods to construct a vector from a varargs
>>> array. Feedback indicated this was a misleading way to obtain a vector.
>>>
>>> - Unification of byte array and ByteBuffer load/store method signatures and
>>> unification of the implementations with more tests (including out-of-bounds
>>> tests for all the kinds of loads/stores).
>>>
>>> Paul.
>>>
>>> --
>>>
>>> Latest javadoc
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/docs-2020-05-15-88a83f7238d8/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/docs-2020-05-15-88a83f7238d8/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html>
>>>
>>> Latest specdiff
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-jdk-2020-05-15-88a83f7238d8/overview-summary.html
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-jdk-2020-05-15-88a83f7238d8/overview-summary.html>
>>>
>>> Incremental specdiff
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/overview-summary.html
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/overview-summary.html>
>>>
>>>
>>> Latest implementation webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/>
>>>
>>> Incremental Implementation webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/>
>>>
>>> Latest test webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/>
>>>
>>> Incremental test webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/
>>>
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/>
>>>
>>>
>>>> On Apr 1, 2020, at 3:46 PM, Paul Sandoz <[email protected]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> A prior email sent out a request for review of the Vector API in
>>>> preparation for JEP 338: Vector API (Incubator) [1] to be proposed for
>>>> target:
>>>>
>>>> https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-March/065345.html
>>>>
>>>> <https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-March/065345.html>
>>>>
>>>> This email expands the review of the API to the Java implementation and
>>>> Java tests:
>>>>
>>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev/webrev/
>>>>
>>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev/webrev/>
>>>>
>>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev/webrev/
>>>>
>>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev/webrev/>
>>>>
>>>> (Further emails will sent for review of general HotSpot changes CPU
>>>> architecture specific HotSpot changes, x64 and aarch64, and performance
>>>> tests. For an early peek see the links in the description of JDK-8223347.)
>>>>
>>>> —
>>>>
>>>> The Vector API provides
>>>>
>>>> - the public Vector class with vector operations common to all supported
>>>> primitive types
>>>>
>>>> - public primitive specializations, such as IntVector, with common
>>>> operations associated with the primitive type
>>>>
>>>> - internal concrete specializations for the vector size, such as
>>>> Int256Vector, for a vector holding 8 ints.
>>>>
>>>> Operations generally defer to one of approximately 20 vector intrinsics.
>>>> Some operations may be composed of other operations.
>>>>
>>>> Explicit casts are performed by vector operations to ensure vectors
>>>> arguments are of the required shape (bit size) and element type.
>>>>
>>>> A vector intrinsic is an internal low-level vector operation. The last
>>>> argument to the intrinsic is fall back behavior in Java, implementing the
>>>> scalar operation over the number of elements held by the vector. Thus, If
>>>> the intrinsic is not supported in C2 for the other arguments then the Java
>>>> implementation is executed (the Java implementation is always executed
>>>> when running in the interpreter or for C1).
>>>>
>>>> The public primitive specializations and the internal concrete
>>>> implementations are generated from SSP template files,
>>>> X-Vector.java.template and X-VectorBits.java.template respectively.
>>>>
>>>> Overall the implementation approach is quite formulaic and rather
>>>> repetitive. Once you grok the pattern It should be easier to review if a
>>>> little laborious.
>>>>
>>>> Unit tests are auto-generated by composing templates for each operation
>>>> into an SSP template file which is then used to generate unit test files
>>>> for each concrete vector class. The tests are quite extensive and have
>>>> found many a HotSpot issue in development across a wide range of platforms.
>>>>
>>>> Paul.
>>>>
>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8201271
>>>> <https://bugs.openjdk.java.net/browse/JDK-8201271>
>>>>
>>>
>