[lworld+fp16] Integrated: 8333852: Allow flat array layout for value based classes.

Jatin Bhateja jbhateja at openjdk.org
Thu Jul 4 08:04:41 UTC 2024


On Tue, 2 Jul 2024 11:50:39 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> Patch enables flat runtime layout for value based classes decorated with following annotations.
>   1. @NullRestrictedArray:  Newly added annotation, ensures flat array elements are never assigned a null value during the lifetime of array, a violation to this rule results into a NullPointerException.
>   2. @ImplicitylConstructible: Ensures default value assignment to flat array element at the time of new allocation.
>   3. @LooselyConsistentValue:  Relaxes strict atomic update constraint of value objects.
> 
> In addition, all primitive box classes when annotated with #1 and #2 assume atomic update since they wrap around primitive type fields.
> 
> With this patch, an array of Float16 type has flat runtime layout which enables auto-vectorization of FP16 operations.
> 
> Best Regards,
> Jatin

This pull request has now been integrated.

Changeset: 779d77f0
Author:    Jatin Bhateja <jbhateja at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/779d77f04810c137bb6a3374608b80cbe5cc9ef3
Stats:     270 lines in 17 files changed: 259 ins; 2 del; 9 mod

8333852: Allow flat array layout for value based classes.

Reviewed-by: bkilambi

-------------

PR: https://git.openjdk.org/valhalla/pull/1154


More information about the valhalla-dev mailing list