< prev index next > test/jdk/java/foreign/TestSegments.java
Print this page
* questions.
*/
/*
* @test
! * @enablePreview
- * @requires jdk.foreign.linker != "UNSUPPORTED"
* @run testng/othervm -Xmx4G -XX:MaxDirectMemorySize=1M --enable-native-access=ALL-UNNAMED TestSegments
*/
import java.lang.foreign.*;
* questions.
*/
/*
* @test
! * @requires vm.bits == 64
* @run testng/othervm -Xmx4G -XX:MaxDirectMemorySize=1M --enable-native-access=ALL-UNNAMED TestSegments
*/
import java.lang.foreign.*;
MemorySegment segment = scope.allocate(1024L * 1024 * 8 * 2, 1); // 2M
}
@Test
public void testNativeSegmentIsZeroed() {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.arrayElementVarHandle();
try (Arena arena = Arena.ofConfined()) {
MemorySegment segment = arena.allocate(1000, 1);
for (long i = 0 ; i < segment.byteSize() ; i++) {
assertEquals(0, (byte)byteHandle.get(segment, i));
}
}
}
@Test
public void testSlices() {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.arrayElementVarHandle();
try (Arena arena = Arena.ofConfined()) {
MemorySegment segment = arena.allocate(10, 1);
//init
for (byte i = 0 ; i < segment.byteSize() ; i++) {
byteHandle.set(segment, (long)i, i);
MemorySegment segment = scope.allocate(1024L * 1024 * 8 * 2, 1); // 2M
}
@Test
public void testNativeSegmentIsZeroed() {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.varHandle();
try (Arena arena = Arena.ofConfined()) {
MemorySegment segment = arena.allocate(1000, 1);
for (long i = 0 ; i < segment.byteSize() ; i++) {
assertEquals(0, (byte)byteHandle.get(segment, i));
}
}
}
@Test
public void testSlices() {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.varHandle();
try (Arena arena = Arena.ofConfined()) {
MemorySegment segment = arena.allocate(10, 1);
//init
for (byte i = 0 ; i < segment.byteSize() ; i++) {
byteHandle.set(segment, (long)i, i);
return l.stream().map(s -> new Object[] { s }).toArray(Object[][]::new);
}
@Test(dataProvider = "segmentFactories")
public void testFill(Supplier<MemorySegment> segmentSupplier) {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.arrayElementVarHandle();
for (byte value : new byte[] {(byte) 0xFF, (byte) 0x00, (byte) 0x45}) {
MemorySegment segment = segmentSupplier.get();
segment.fill(value);
for (long l = 0; l < segment.byteSize(); l++) {
return l.stream().map(s -> new Object[] { s }).toArray(Object[][]::new);
}
@Test(dataProvider = "segmentFactories")
public void testFill(Supplier<MemorySegment> segmentSupplier) {
! VarHandle byteHandle = ValueLayout.JAVA_BYTE.varHandle();
for (byte value : new byte[] {(byte) 0xFF, (byte) 0x00, (byte) 0x45}) {
MemorySegment segment = segmentSupplier.get();
segment.fill(value);
for (long l = 0; l < segment.byteSize(); l++) {
< prev index next >