< prev index next > src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/TypeClass.java
Print this page
// alignUp can overflow the value, but it's okay since toIntExact still catches it
nEightbytes = Math.toIntExact(Utils.alignUp(group.byteSize(), 8) / 8);
} catch (ArithmeticException e) {
throw new IllegalArgumentException("GroupLayout is too large: " + group, e);
}
! @SuppressWarnings({"unchecked", "rawtypes"})
List<ArgumentClassImpl>[] groups = new List[nEightbytes];
for (MemoryLayout l : group.memberLayouts()) {
groupByEightBytes(l, offset, groups);
if (group instanceof StructLayout) {
offset += l.byteSize();
// alignUp can overflow the value, but it's okay since toIntExact still catches it
nEightbytes = Math.toIntExact(Utils.alignUp(group.byteSize(), 8) / 8);
} catch (ArithmeticException e) {
throw new IllegalArgumentException("GroupLayout is too large: " + group, e);
}
! @SuppressWarnings({"unchecked", "rawtypes"}) // rawtypes warnings need to be suppressed
List<ArgumentClassImpl>[] groups = new List[nEightbytes];
for (MemoryLayout l : group.memberLayouts()) {
groupByEightBytes(l, offset, groups);
if (group instanceof StructLayout) {
offset += l.byteSize();
< prev index next >