On Mon, 18 Nov 2024 14:35:41 GMT, Roman Kennke <rken...@openjdk.org> wrote:
>>> @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. >> >> BTW, this problem is not specific to UseCompactObjectHeaders - I think the >> same problem would happen with -UseCompressedClassPointers. With >> uncompressed class-pointers, byte[] would start at offset 20, while long[] >> start at offset 24. But nobody cares about -UCCP I think. >> >> What is the failure mode, though? When running with -UCOH and +AlignVector, >> would it crash or misbehave? Or would it (silently?) not vectorize? I think >> we could live with the latter, but not with the former. > >> @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. ------------- PR Comment: https://git.openjdk.org/jdk/pull/20677#issuecomment-2483242899