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

Roman Kennke rkennke at openjdk.org
Mon Nov 18 17:09:24 UTC 2024


On Mon, 18 Nov 2024 15:00:51 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>>> @rkennke It just will (silently) not vectorize, thus running slower but still correct.
>> 
>> Ok, I think we can live with that for now.
>> 
>> As said elsewhere, we are currently working on 4-byte-headers, which would make that problem go away.
>> 
>> The tests need fixing, though.
>
>> @rkennke
>> 
>> > As said elsewhere, we are currently working on 4-byte-headers, which would make that problem go away.
>> 
>> Ah. So we would eventually have not a `12-byte` but `8-byte` offset from base to payload? Would that happen in all cases? And could that happen before `UseCompactObjectHeaders` leaves experimental status? Because it is going to be a little annoying to adjust all vectorization tests for the special case of `UseCompactObjectHeaders + AlignVector`. Though I can surely do it.
> 
> I am not sure if and when this is going to happen. When I presented the idea at JVMLS, I got some resistance. I am also not sure if we first leave experimental status for UCOH, and then introduce 4-byte headers under a new flag (or no flag?), or if we first do 4-byte headers and only leave experimental status once that is done. The latter sounds more reasonable to me.

> @rkennke Filed a bug to track this (we may close it as NotAnIssue, but this way people are aware / can find the analysis): [JDK-8344424](https://bugs.openjdk.org/browse/JDK-8344424): C2 SuperWord: mixed type loops do not vectorize with UseCompactObjectHeaders and AlignVector

Thanks!

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

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


More information about the build-dev mailing list