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 }