Integrated: 8319111: Mismatched MemorySegment heap access is not consistently intrinsified
Jatin Bhateja
jbhateja at openjdk.org
Wed Dec 6 10:00:43 UTC 2023
On Wed, 29 Nov 2023 17:49:45 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
> Patch enables intrinsification of fromMemorySegment, intoMemorySegment APIs and their masked variants for mismatched memory segments i.e. heap based memory segments whose backing storage type differs from the vector type in which they are loaded to or stored from.
>
> A load from a mismatched segment first moves the contents into type compatible vector followed by reinterpretation to desired vector type. This facilitates value forwarding from a preceding vector store as alias indices are computed using backing storage type.
>
> Mismatched masked vector loads and stores are performed at byte granularity, this handles both narrowing and widening scenarios where vector lane size is smaller than backing storage element type and vice versa.
>
> Following are the performance numbers of and existing JMH micro.
>
> ![image](https://github.com/openjdk/jdk/assets/59989778/a0b177af-78ca-4ac8-b6b0-bfe3655b16a6)
>
> Please review and share your feedback.
>
> Best Regards,
> Jatin
This pull request has now been integrated.
Changeset: 2678e4cd
Author: Jatin Bhateja <jbhateja at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/2678e4cd9424ca4e33ebb9693c84f9a86bf5504c
Stats: 210 lines in 14 files changed: 54 ins; 5 del; 151 mod
8319111: Mismatched MemorySegment heap access is not consistently intrinsified
Reviewed-by: sviswanathan, psandoz, thartmann
-------------
PR: https://git.openjdk.org/jdk/pull/16888
More information about the hotspot-compiler-dev
mailing list