On Wed, 3 May 2023 14:17:02 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
> > Isn't this true also for sequence layouts where, for example, the second > > element might be misaligned for `sequenceLayout(2, structLayout(JAVA_INT, > > JAVA_SHORT))`? Or, is this already covered? > > That case already has some javadoc text: > > https://cr.openjdk.org/~pminborg/panama/21/v2/javadoc/api/java.base/java/lang/foreign/MemoryLayout.html#sequenceLayout(long,java.lang.foreign.MemoryLayout) > > (both factories throw if the alignment of the element layout is bigger than > its size). It seems like I only forgot to add extra doc for structs. Actually, now that I look at it, it seems that the exception we raise is not correct. I think we need to throw if the element size is not a multiple of the alignment. That is, the size determines the stride, so that has to be a multiple of the alignment, otherwise it won't work. ------------- PR Comment: https://git.openjdk.org/jdk/pull/13770#issuecomment-1533114938