RFR: 8342651: Refactor array constant to use an array of jbyte [v3]

Tobias Hartmann thartmann at openjdk.org
Thu Nov 14 06:46:53 UTC 2024


On Wed, 13 Nov 2024 14:09:59 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> 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 four additional commits since the last revision:
> 
>  - indentation
>  - Merge branch 'master' into constanttable
>  - Merge branch 'master' into constanttable
>  - refactor array constant, fix codebuffer reallocation

Looks good to me.

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

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/21596#pullrequestreview-2435175675


More information about the hotspot-compiler-dev mailing list