[lworld+vector] RFR: 8307715: Integrate VectorMask with value/primitive classes [v2]
Xiaohong Gong
xgong at openjdk.org
Wed May 17 09:07:18 UTC 2023
> 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
-------------
Changes:
- all: https://git.openjdk.org/valhalla/pull/845/files
- new: https://git.openjdk.org/valhalla/pull/845/files/9f90cb77..dadedbe2
Webrevs:
- full: https://webrevs.openjdk.org/?repo=valhalla&pr=845&range=01
- incr: https://webrevs.openjdk.org/?repo=valhalla&pr=845&range=00-01
Stats: 10 lines in 1 file changed: 2 ins; 0 del; 8 mod
Patch: https://git.openjdk.org/valhalla/pull/845.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/845/head:pull/845
PR: https://git.openjdk.org/valhalla/pull/845
More information about the valhalla-dev
mailing list