RFR: 8342651: Refactor array constant to use an array of jbyte [v5]
Quan Anh Mai
qamai at openjdk.org
Fri Dec 6 11:54:25 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.
Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
- Merge branch 'master' into constanttable
- add comment to ConstantTable::alignment
- Merge branch 'master' into constanttable
- indentation
- Merge branch 'master' into constanttable
- Merge branch 'master' into constanttable
- refactor array constant, fix codebuffer reallocation
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/21596/files
- new: https://git.openjdk.org/jdk/pull/21596/files/b8a8d9a3..ed66a106
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=21596&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=21596&range=03-04
Stats: 109219 lines in 1736 files changed: 81360 ins; 19597 del; 8262 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