< prev index next >
test/runtime/valhalla/valuetypes/ValueTypeGetField.java
Print this page
@@ -10,31 +10,62 @@
* @run main/othervm -noverify -Xint runtime.valhalla.valuetypes.ValueTypeGetField
* @run main/othervm -noverify -Xcomp runtime.valhalla.valuetypes.ValueTypeGetField
*/
public class ValueTypeGetField {
- static Point staticPoint;
- Point myPoint;
+ static Point staticPoint0;
+ static Point staticPoint1;
+ Point instancePoint0;
+ Point instancePoint1;
+
+ static {
+ staticPoint0 = Point.createPoint(358, 406);
+ staticPoint1 = Point.createPoint(101, 2653);
+ }
+
+ ValueTypeGetField() {
+ instancePoint0 = Point.createPoint(1890, 1918);
+ instancePoint1 = Point.createPoint(91, 102);
+ }
public static void main(String[] args) {
ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
+ System.gc(); // check that VTs survive GC
valueTypeGetField.run();
}
public void run() {
- Point p = Point.createPoint(1, 2);
- fieldTest(p);
- System.gc(); // check that VTs survive GC
- fieldTest(p);
- System.gc(); // check that VTs survive GC
+ // testing initial configuration
+ checkPoint(staticPoint0, 358, 406);
+ checkPoint(staticPoint1, 101, 2653);
+ checkPoint(instancePoint0, 1890, 1918);
+ checkPoint(instancePoint1, 91, 102);
+ // swapping static fields
+ Point p = staticPoint1;
+ staticPoint1 = staticPoint0;
+ staticPoint0 = p;
+ System.gc();
+ checkPoint(staticPoint0, 101, 2653);
+ checkPoint(staticPoint1, 358, 406);
+ //swapping instance fields
+ p = instancePoint1;
+ instancePoint1 = instancePoint0;
+ instancePoint0 = p;
+ System.gc();
+ checkPoint(instancePoint0, 91, 102);
+ checkPoint(instancePoint1, 1890, 1918);
+ // instance to static
+ staticPoint0 = instancePoint0;
+ System.gc();
+ checkPoint(staticPoint0, 91, 102);
+ // static to instance
+ instancePoint1 = staticPoint1;
+ System.gc();
+ checkPoint(instancePoint1, 358, 406);
}
- static void fieldTest(Point p) {
- staticPoint = p;
- Asserts.assertEquals(staticPoint.x, 1, "invalid staticPoint x value");
- Asserts.assertEquals(staticPoint.y, 2, "invalid staticPoint y value");
- ValueTypeGetField valueTypeGetField = new ValueTypeGetField();
- valueTypeGetField.myPoint = Point.createPoint(5, 6);
- Asserts.assertEquals(valueTypeGetField.myPoint.x, 5, "invalid myPoint x value");
- Asserts.assertEquals(valueTypeGetField.myPoint.y, 6, "invalid myPoint y value");
+ static void checkPoint(Point p , int x, int y) {
+ Asserts.assertEquals(p.x, x, "invalid x value");
+ Asserts.assertEquals(p.y, y, "invalid y value");
}
+
}
< prev index next >