RFR: 8342651: Refactor array constant to use an array of jbyte

Quan Anh Mai qamai at openjdk.org
Sun Oct 20 11:44:19 UTC 2024


Hi,

This small patch refactors array constants in C2 to use an array of `jbyte`s instead of an array of `jvalue`. The former is much easier to work with and we can do `memcpy` with them trivially.

Since code buffers support alignment of the constant section, I have also allowed constant tables to be aligned more than 8 bytes and used it for constant vectors on machines not supporting `SSE3`. I also fixed an issue with code buffer relocation where the temporary buffer is not correctly aligned.

This patch is extracted from https://github.com/openjdk/jdk/pull/21229. Tests passed with `UseSSE=2` where 16-byte constants would be generated, as well as normal testing routines.

Please take a look and leave your reviews, thanks a lot.

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

Commit messages:
 - refactor array constant, fix codebuffer reallocation

Changes: https://git.openjdk.org/jdk/pull/21596/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21596&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342651
  Stats: 169 lines in 8 files changed: 74 ins; 44 del; 51 mod
  Patch: https://git.openjdk.org/jdk/pull/21596.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21596/head:pull/21596

PR: https://git.openjdk.org/jdk/pull/21596


More information about the hotspot-compiler-dev mailing list