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

Jatin Bhateja jbhateja at openjdk.org
Thu Jul 4 06:30:00 UTC 2024


> 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

Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:

  Removing redundant @enablePreview setting

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1154/files
  - new: https://git.openjdk.org/valhalla/pull/1154/files/af4d8beb..41f82f4a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1154&range=01
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1154&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
  Patch: https://git.openjdk.org/valhalla/pull/1154.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1154/head:pull/1154

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


More information about the valhalla-dev mailing list