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 -Xint runtime.valhalla.valuetypes.ValueTypeGetField
  10  * @run main/othervm -noverify -Xcomp runtime.valhalla.valuetypes.ValueTypeGetField
  11  */
  12 public class ValueTypeGetField {
  13 
  14     static Point staticPoint;
  15     Point myPoint;
  16 
  17     public static void main(String[] args) {
  18         ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
  19         valueTypeGetField.run();
  20     }
  21 
  22     public void run() {
  23         Point p = Point.createPoint(1, 2);
  24         fieldTest(p);
  25         System.gc(); // check that VTs survive GC
  26         fieldTest(p);
  27         System.gc(); // check that VTs survive GC
  28     }
  29 
  30     static void fieldTest(Point p) {
  31         staticPoint = p;
  32         Asserts.assertEquals(staticPoint.x, 1, "invalid staticPoint x value");
  33         Asserts.assertEquals(staticPoint.y, 2, "invalid staticPoint y value");
  34         ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
  35         valueTypeGetField.myPoint = Point.createPoint(5, 6);
  36         Asserts.assertEquals(valueTypeGetField.myPoint.x, 5, "invalid myPoint x value");
  37         Asserts.assertEquals(valueTypeGetField.myPoint.y, 6, "invalid myPoint y value");
  38     }
  39 }