[lworld+vector] RFR: 8307715: Integrate VectorMask with value/primitive classes [v2]
Jatin Bhateja
jbhateja at openjdk.org
Thu May 18 09:39:19 UTC 2023
On Wed, 17 May 2023 09:07:18 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> This patch changes the Vector API java side and hotspot
>> compiler code to make the `VectorMask` operations work well
>> after integrating with valhalla value/primitive classes.
>>
>> Java side changes include:
>> - Define the concrete VectorMask classes as value class.
>> - Define the payload field type as primitive classes, which
>> defines `MultiField` annotated field to save the element
>> values.
>> - Change all the relative API implementations, which use
>> Unsafe APIs to access the new payload.
>> - Move several VectorMask default operations to the abstract
>> super class.
>>
>> Compiler changes include:
>> - Enable intrinsification for VectorMask related operations.
>> Mask input/output of `VectorBox/VectorUnbox` is changed to
>> the boolean vector format, to adapt C2's `InlineTypeNode`
>> and new `VectorBox` features. Note that the mask input/output
>> is a normal vector or predicate before.
>> - Refine `VectorBox` expanding logic to make it right when the
>> primitive payload instance is not flattened.
>> - Minor code cleanup.
>>
>> Basic VectorMask jtreg tests pass with
>> "`-XX:+UnlockExperimentalVMOptions -XX:-EnableVectorSupport`",
>> and the basic unit tests work well after enabling vector support.
>
> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix issue when the boxed type is not equal to the intrinsic return type
I am seeing some new regression failures with -XX:TieredStopAtLevel=3 and -XX:-TieredCompilation. Can you kindly check.
Relevant test : Float256VectorTest.java.
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/845#issuecomment-1552793665
More information about the valhalla-dev
mailing list