1 package runtime.valhalla.valuetypes;
   2 
   3 import jdk.test.lib.Asserts;
   4 
   5 /*
   6  * @test ValueTypeGetField
   7  * @summary Value Type get field test
   8  * @library /testlibrary /
   9  * @run main/othervm -noverify runtime.valhalla.valuetypes.ValueTypeGetField
  10  */
  11 public class ValueTypeGetField {
  12 
  13     static Point staticPoint;
  14     Point myPoint;
  15 
  16     public static void main(String[] args) {
  17         ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
  18         valueTypeGetField.run();
  19     }
  20 
  21     public void run() {
  22         Point p = Point.createPoint(1, 2);
  23         fieldTest(p);
  24         System.gc(); // check that VTs survive GC
  25         fieldTest(p);
  26         System.gc(); // check that VTs survive GC
  27     }
  28 
  29     static void fieldTest(Point p) {
  30         staticPoint = p;
  31         Asserts.assertEquals(staticPoint.x, 1, "invalid staticPoint x value");
  32         Asserts.assertEquals(staticPoint.y, 2, "invalid staticPoint y value");
  33         ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
  34         valueTypeGetField.myPoint = Point.createPoint(5, 6);
  35         Asserts.assertEquals(valueTypeGetField.myPoint.x, 5, "invalid myPoint x value");
  36         Asserts.assertEquals(valueTypeGetField.myPoint.y, 6, "invalid myPoint y value");
  37     }
  38 }