> Change the default code entry alignment to 64 bytes from 32 bytes.  This 
> allows for maintaining proper 64-byte alignment of data within a code 
> segment, which is required by several AVX-512 instructions.
> 
> I ran into this while implementing Base64 encoding and decoding.  Code 
> segments which were allocated with the address mod 32 == 0 but with the 
> address mod 64 != 0 would cause the align() macro to misalign.  This is 
> because the align macro aligns to the size of the code segment and not the 
> offset of the PC.  So align(64) would align the PC to a multiple of 64 bytes 
> from the start of the segment, and not to a pure 64-byte boundary as 
> requested.  Changing the alignment of the segment to 64 bytes fixes the issue.
> 
> I have not seen any measurable difference in either performance or memory 
> usage with the tests I have run.
> 
> See [this 
> ](https://mail.openjdk.java.net/pipermail/hotspot-dev/2021-August/054180.html)
>  article for the discussion thread.

Scott Gibbons has updated the pull request incrementally with one additional 
commit since the last revision:

  Revert alignment of 64-bytes; Add align64()

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5547/files
  - new: https://git.openjdk.java.net/jdk/pull/5547/files/3c7e8db3..f6eefd34

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5547&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5547&range=00-01

  Stats: 21 lines in 4 files changed: 6 ins; 0 del; 15 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5547.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5547/head:pull/5547

PR: https://git.openjdk.java.net/jdk/pull/5547

Reply via email to