RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v19]

Emanuel Peter epeter at openjdk.org
Mon Nov 18 14:20:20 UTC 2024


On Mon, 18 Nov 2024 14:13:17 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> @mur47x111 it's now intergrated in jdk24. do your magic in Graal ;-)
>
>> @rkennke How important is the 4-byte saving on `byte, char, short, int, float` arrays? I'd assume they are not generally that small, at least a few elements? So could we make an exception, and have a `16-byte` offset to the payload of all these primitive (and maybe all) arrays, at least under `AlignVector`?
> 
> For byte[] and to some extend for char[] it is quite important, because those are the backing types for String and related classes, and Java apps often have *many* of them, and also quite small. I would not want to to sacrifize them for vectorization, especially not for the relatively uncommon (I think) case of mixed type access.

@rkennke Ok, fair enough. As far as I know, we at Oracle do not super care about strict alignment `AlignVector`. But maybe other people care, and have to make that tradeoff between vectorization and small object headers.

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

PR Comment: https://git.openjdk.org/jdk/pull/20677#issuecomment-2483170957


More information about the build-dev mailing list