mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-28 08:39:56 +00:00
moved test layout checks to inside each class
This commit is contained in:
parent
e8b5f0fb85
commit
eb501b8c41
@ -138,97 +138,15 @@ public class MixedPrimitives {
|
||||
public static void main(String[] args) throws Exception {
|
||||
int failures = 0;
|
||||
|
||||
// --------------- INSTANCE FIELDS ---------------------
|
||||
|
||||
if (arePaddedPairwise(Test1.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test1.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test1.class, "int1", "short1") ||
|
||||
isPadded(Test1.class, "long1") ||
|
||||
isPadded(Test1.class, "int1") ||
|
||||
isPadded(Test1.class, "short1")) {
|
||||
System.err.println("Test1 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test2.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test2.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test2.class, "int1", "short1") ||
|
||||
!isPadded(Test2.class, "long1") ||
|
||||
isPadded(Test2.class, "int1") ||
|
||||
isPadded(Test2.class, "short1")) {
|
||||
System.err.println("Test2 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test3.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test3.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test3.class, "int1", "short1") ||
|
||||
!isPadded(Test3.class, "long1") ||
|
||||
!isPadded(Test3.class, "int1") ||
|
||||
!isPadded(Test3.class, "short1")) {
|
||||
System.err.println("Test3 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (arePaddedPairwise(Test4.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test4.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test4.class, "int1", "short1") ||
|
||||
!isPadded(Test4.class, "long1") ||
|
||||
!isPadded(Test4.class, "int1") ||
|
||||
!isPadded(Test4.class, "short1")) {
|
||||
System.err.println("Test4 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test5.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test5.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test5.class, "int1", "short1") ||
|
||||
!isPadded(Test5.class, "long1") ||
|
||||
!isPadded(Test5.class, "int1") ||
|
||||
!isPadded(Test5.class, "short1")) {
|
||||
System.err.println("Test5 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test6.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test6.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test6.class, "int1", "short1") ||
|
||||
!isPadded(Test6.class, "long1") ||
|
||||
!isPadded(Test6.class, "int1") ||
|
||||
!isPadded(Test6.class, "short1")) {
|
||||
System.err.println("Test6 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (arePaddedPairwise(Test7.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test7.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test7.class, "int1", "short1") ||
|
||||
!isPadded(Test7.class, "long1") ||
|
||||
!isPadded(Test7.class, "int1") ||
|
||||
!isPadded(Test7.class, "short1")) {
|
||||
System.err.println("Test7 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test8.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test8.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test8.class, "int1", "short1") ||
|
||||
!isPadded(Test8.class, "long1") ||
|
||||
!isPadded(Test8.class, "int1") ||
|
||||
!isPadded(Test8.class, "short1")) {
|
||||
System.err.println("Test8 failed");
|
||||
failures += 1;
|
||||
}
|
||||
|
||||
if (!arePaddedPairwise(Test9.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test9.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test9.class, "int1", "short1") ||
|
||||
!isPadded(Test9.class, "long1") ||
|
||||
!isPadded(Test9.class, "int1") ||
|
||||
!isPadded(Test9.class, "short1")) {
|
||||
System.err.println("Test9 failed");
|
||||
failures += 1;
|
||||
}
|
||||
failures += Test1.checkLayout();
|
||||
failures += Test2.checkLayout();
|
||||
failures += Test3.checkLayout();
|
||||
failures += Test4.checkLayout();
|
||||
failures += Test5.checkLayout();
|
||||
failures += Test6.checkLayout();
|
||||
failures += Test7.checkLayout();
|
||||
failures += Test8.checkLayout();
|
||||
failures += Test9.checkLayout();
|
||||
|
||||
if (!sameLayout(Test4.class, Test7.class)) {
|
||||
System.err.println("Test4 and Test7 have different layouts");
|
||||
@ -251,13 +169,24 @@ public class MixedPrimitives {
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------- INSTANCE FIELDS -----------------------------------------
|
||||
|
||||
// naturally packed
|
||||
public static class Test1 {
|
||||
private long long1;
|
||||
private int int1;
|
||||
private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (arePaddedPairwise(Test1.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test1.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test1.class, "int1", "short1") ||
|
||||
isPadded(Test1.class, "long1") ||
|
||||
isPadded(Test1.class, "int1") ||
|
||||
isPadded(Test1.class, "short1")) {
|
||||
System.err.println("Test1 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// long1 is padded
|
||||
@ -265,6 +194,19 @@ public class MixedPrimitives {
|
||||
@Contended private long long1;
|
||||
private int int1;
|
||||
private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test2.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test2.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test2.class, "int1", "short1") ||
|
||||
!isPadded(Test2.class, "long1") ||
|
||||
isPadded(Test2.class, "int1") ||
|
||||
isPadded(Test2.class, "short1")) {
|
||||
System.err.println("Test2 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// both fields are padded
|
||||
@ -272,6 +214,19 @@ public class MixedPrimitives {
|
||||
@Contended private long long1;
|
||||
@Contended private int int1;
|
||||
@Contended private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test3.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test3.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test3.class, "int1", "short1") ||
|
||||
!isPadded(Test3.class, "long1") ||
|
||||
!isPadded(Test3.class, "int1") ||
|
||||
!isPadded(Test3.class, "short1")) {
|
||||
System.err.println("Test3 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// fields are padded in the singular group
|
||||
@ -279,6 +234,19 @@ public class MixedPrimitives {
|
||||
@Contended("sameGroup") private long long1;
|
||||
@Contended("sameGroup") private int int1;
|
||||
@Contended("sameGroup") private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (arePaddedPairwise(Test4.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test4.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test4.class, "int1", "short1") ||
|
||||
!isPadded(Test4.class, "long1") ||
|
||||
!isPadded(Test4.class, "int1") ||
|
||||
!isPadded(Test4.class, "short1")) {
|
||||
System.err.println("Test4 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// fields are padded in disjoint groups
|
||||
@ -286,6 +254,19 @@ public class MixedPrimitives {
|
||||
@Contended("diffGroup1") private long long1;
|
||||
@Contended("diffGroup2") private int int1;
|
||||
@Contended("diffGroup3") private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test5.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test5.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test5.class, "int1", "short1") ||
|
||||
!isPadded(Test5.class, "long1") ||
|
||||
!isPadded(Test5.class, "int1") ||
|
||||
!isPadded(Test5.class, "short1")) {
|
||||
System.err.println("Test5 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// fields are padded in disjoint groups
|
||||
@ -293,6 +274,19 @@ public class MixedPrimitives {
|
||||
@Contended private long long1;
|
||||
@Contended("diffGroup2") private int int1;
|
||||
@Contended("diffGroup3") private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test6.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test6.class, "long1", "short1") ||
|
||||
!arePaddedPairwise(Test6.class, "int1", "short1") ||
|
||||
!isPadded(Test6.class, "long1") ||
|
||||
!isPadded(Test6.class, "int1") ||
|
||||
!isPadded(Test6.class, "short1")) {
|
||||
System.err.println("Test6 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// fields are padded in the singular group
|
||||
@ -301,6 +295,19 @@ public class MixedPrimitives {
|
||||
private long long1;
|
||||
private int int1;
|
||||
private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (arePaddedPairwise(Test7.class, "long1", "int1") ||
|
||||
arePaddedPairwise(Test7.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test7.class, "int1", "short1") ||
|
||||
!isPadded(Test7.class, "long1") ||
|
||||
!isPadded(Test7.class, "int1") ||
|
||||
!isPadded(Test7.class, "short1")) {
|
||||
System.err.println("Test7 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// all fields are padded as the group, and one field is padded specifically
|
||||
@ -309,6 +316,19 @@ public class MixedPrimitives {
|
||||
@Contended private long long1;
|
||||
private int int1;
|
||||
private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test8.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test8.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test8.class, "int1", "short1") ||
|
||||
!isPadded(Test8.class, "long1") ||
|
||||
!isPadded(Test8.class, "int1") ||
|
||||
!isPadded(Test8.class, "short1")) {
|
||||
System.err.println("Test8 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// all fields are padded as the group, and one field is padded specifically
|
||||
@ -317,6 +337,19 @@ public class MixedPrimitives {
|
||||
@Contended("group") private long long1;
|
||||
private int int1;
|
||||
private short short1;
|
||||
|
||||
public static int checkLayout() throws Exception {
|
||||
if (!arePaddedPairwise(Test9.class, "long1", "int1") ||
|
||||
!arePaddedPairwise(Test9.class, "long1", "short1") ||
|
||||
arePaddedPairwise(Test9.class, "int1", "short1") ||
|
||||
!isPadded(Test9.class, "long1") ||
|
||||
!isPadded(Test9.class, "int1") ||
|
||||
!isPadded(Test9.class, "short1")) {
|
||||
System.err.println("Test9 failed");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user