< prev index next >

test/jdk/tools/jextract/test8246400/LibTest8246400Test.java

Print this page
@@ -19,10 +19,11 @@
   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   * or visit www.oracle.com if you need additional information or have any
   * questions.
   */
  
+ import jdk.incubator.foreign.MemoryAddress;
  import jdk.incubator.foreign.MemorySegment;
  import org.testng.annotations.Test;
  import test.jextract.test8246400.*;
  import static org.testng.Assert.assertEquals;
  import static org.testng.Assert.assertTrue;

@@ -39,11 +40,12 @@
   * @run testng/othervm -Dforeign.restricted=permit LibTest8246400Test
   */
  public class LibTest8246400Test {
      @Test
      public void testSegmentRegister() {
-         MemorySegment sum = null, callback = null;
+         MemorySegment sum = null;
+         MemoryAddress callback = null;
          try (var scope = new CScope()) {
              var v1 = CVector.allocate(scope);
              CVector.x$set(v1, 1.0);
              CVector.y$set(v1, 0.0);
  

@@ -58,18 +60,17 @@
              assertEquals(CVector.y$get(sum.baseAddress()), 1.0, 0.1);
  
              callback = cosine_similarity$dot.allocate((a, b) -> {
                  return (CVector.x$get(a.baseAddress()) * CVector.x$get(b.baseAddress())) +
                      (CVector.y$get(a.baseAddress()) * CVector.y$get(b.baseAddress()));
-             });
-             scope.register(callback);
+             }, scope);
  
-             var value = cosine_similarity(v1.segment(), v2.segment(), callback.baseAddress());
+             var value = cosine_similarity(v1.segment(), v2.segment(), callback);
              assertEquals(value, 0.0, 0.1);
  
-             value = cosine_similarity(v1.segment(), v1.segment(), callback.baseAddress());
+             value = cosine_similarity(v1.segment(), v1.segment(), callback);
              assertEquals(value, 1.0, 0.1);
          }
          assertTrue(!sum.isAlive());
-         assertTrue(!callback.isAlive());
+         assertTrue(!callback.segment().isAlive());
      }
  }
< prev index next >