This commit is contained in:
Jesper Wilhelmsson 2022-06-28 22:11:23 +00:00
commit 86dc760f9e
29 changed files with 750 additions and 209 deletions

View file

@ -285,9 +285,11 @@ public interface SegmentAllocator {
Objects.requireNonNull(array);
Objects.requireNonNull(elementLayout);
int size = Array.getLength(array);
MemorySegment addr = allocate(MemoryLayout.sequenceLayout(size, elementLayout));
MemorySegment.copy(heapSegmentFactory.apply(array), elementLayout, 0,
addr, elementLayout.withOrder(ByteOrder.nativeOrder()), 0, size);
MemorySegment addr = allocateArray(elementLayout, size);
if (size > 0) {
MemorySegment.copy(heapSegmentFactory.apply(array), elementLayout, 0,
addr, elementLayout.withOrder(ByteOrder.nativeOrder()), 0, size);
}
return addr;
}