< prev index next >

test/jdk/java/foreign/TestMemoryAlignment.java

Print this page
@@ -21,11 +21,10 @@
   * questions.
   */
  
  /*
   * @test
-  * @enablePreview
   * @run testng TestMemoryAlignment
   */
  
  import java.lang.foreign.*;
  import java.lang.foreign.MemoryLayout.PathElement;

@@ -46,12 +45,12 @@
          ValueLayout aligned = layout.withByteAlignment(align);
          assertEquals(aligned.byteAlignment(), align); //unreasonable alignment here, to make sure access throws
          VarHandle vh = aligned.varHandle();
          try (Arena arena = Arena.ofConfined()) {
              MemorySegment segment = arena.allocate(aligned);;
-             vh.set(segment, -42);
-             int val = (int)vh.get(segment);
+             vh.set(segment, 0L, -42);
+             int val = (int)vh.get(segment, 0L);
              assertEquals(val, -42);
          }
      }
  
      @Test(dataProvider = "alignments")

@@ -63,11 +62,11 @@
          try (Arena arena = Arena.ofConfined()) {
              MemoryLayout alignedGroup = MemoryLayout.structLayout(MemoryLayout.paddingLayout(1), aligned);
              assertEquals(alignedGroup.byteAlignment(), align);
              VarHandle vh = aligned.varHandle();
              MemorySegment segment = arena.allocate(alignedGroup);;
-             vh.set(segment.asSlice(1L), -42);
+             vh.set(segment.asSlice(1L), 0L, -42);
              assertEquals(align, 8); //this is the only case where access is aligned
          } catch (IllegalArgumentException ex) {
              assertNotEquals(align, 8); //if align != 8, access is always unaligned
          }
      }

@@ -91,11 +90,11 @@
              SequenceLayout layout = MemoryLayout.sequenceLayout(5, ValueLayout.JAVA_INT.withOrder(ByteOrder.BIG_ENDIAN).withByteAlignment(align));
              VarHandle vh = layout.varHandle(PathElement.sequenceElement());
              try (Arena arena = Arena.ofConfined()) {
                  MemorySegment segment = arena.allocate(layout);;
                  for (long i = 0 ; i < 5 ; i++) {
-                     vh.set(segment, i, -42);
+                     vh.set(segment, 0L, i, -42);
                  }
              }
          } catch (IllegalArgumentException ex) {
              assertTrue(align > 4); //if align > 4, access is always unaligned (for some elements)
          }

@@ -114,16 +113,16 @@
          VarHandle vh_c = g.varHandle(PathElement.groupElement("a"));
          VarHandle vh_s = g.varHandle(PathElement.groupElement("b"));
          VarHandle vh_i = g.varHandle(PathElement.groupElement("c"));
          try (Arena arena = Arena.ofConfined()) {
              MemorySegment segment = arena.allocate(g);;
-             vh_c.set(segment, Byte.MIN_VALUE);
-             assertEquals(vh_c.get(segment), Byte.MIN_VALUE);
-             vh_s.set(segment, Short.MIN_VALUE);
-             assertEquals(vh_s.get(segment), Short.MIN_VALUE);
-             vh_i.set(segment, Integer.MIN_VALUE);
-             assertEquals(vh_i.get(segment), Integer.MIN_VALUE);
+             vh_c.set(segment, 0L, Byte.MIN_VALUE);
+             assertEquals(vh_c.get(segment, 0L), Byte.MIN_VALUE);
+             vh_s.set(segment, 0L, Short.MIN_VALUE);
+             assertEquals(vh_s.get(segment, 0L), Short.MIN_VALUE);
+             vh_i.set(segment, 0L, Integer.MIN_VALUE);
+             assertEquals(vh_i.get(segment, 0L), Integer.MIN_VALUE);
          }
      }
  
      @DataProvider(name = "alignments")
      public Object[][] createAlignments() {
< prev index next >