< prev index next >

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java

Print this page

        

*** 169,200 **** */ MemoryLayout withName(String name); /** * Returns the alignment constraint associated with this layout, expressed in bits. Layout alignment defines a power ! * of two A which is the bitwise alignment of the layout. If A&gt;=8 then A/8 is the number of bytes that must be aligned ! * for any pointer that correctly points to this layout. Thus: * * <ul> ! * <li>A=8 means unaligned (in the usual sense), which is common in packets.</li> ! * <li>A=64 means word aligned (on LP64), A=32 int aligned, A=16 short aligned, etc.</li> ! * <li>A=512 is the most strict alignment required by the x86/SV ABI (for AVX-512 data).</li> * </ul> * * @return the layout alignment constraint, in bits. */ long bitAlignment(); /** * Returns the alignment constraint associated with this layout, expressed in bytes. Layout alignment defines a power ! * of two A which is the bytewise alignment of the layout, where A is the number of bytes that must be aligned * for any pointer that correctly points to this layout. Thus: * * <ul> ! * <li>A=1 means unaligned (in the usual sense), which is common in packets.</li> ! * <li>A=8 means word aligned (on LP64), A=4 int aligned, A=2 short aligned, etc.</li> ! * <li>A=64 is the most strict alignment required by the x86/SV ABI (for AVX-512 data).</li> * </ul> * * @return the layout alignment constraint, in bytes. * @throws UnsupportedOperationException if {@code bitAlignment()} is not a multiple of 8. */ --- 169,200 ---- */ MemoryLayout withName(String name); /** * Returns the alignment constraint associated with this layout, expressed in bits. Layout alignment defines a power ! * of two {@code A} which is the bit-wise alignment of the layout. If {@code A <= 8} then {@code A/8} is the number of ! * bytes that must be aligned for any pointer that correctly points to this layout. Thus: * * <ul> ! * <li>{@code A=8} means unaligned (in the usual sense), which is common in packets.</li> ! * <li>{@code A=64} means word aligned (on LP64), {@code A=32} int aligned, {@code A=16} short aligned, etc.</li> ! * <li>{@code A=512} is the most strict alignment required by the x86/SV ABI (for AVX-512 data).</li> * </ul> * * @return the layout alignment constraint, in bits. */ long bitAlignment(); /** * Returns the alignment constraint associated with this layout, expressed in bytes. Layout alignment defines a power ! * of two {@code A} which is the byte-wise alignment of the layout, where {@code A} is the number of bytes that must be aligned * for any pointer that correctly points to this layout. Thus: * * <ul> ! * <li>{@code A=1} means unaligned (in the usual sense), which is common in packets.</li> ! * <li>{@code A=8} means word aligned (on LP64), {@code A=4} int aligned, {@code A=2} short aligned, etc.</li> ! * <li>{@code A=64} is the most strict alignment required by the x86/SV ABI (for AVX-512 data).</li> * </ul> * * @return the layout alignment constraint, in bytes. * @throws UnsupportedOperationException if {@code bitAlignment()} is not a multiple of 8. */
< prev index next >