25 import jdk.test.lib.process.OutputAnalyzer;
26 import java.util.*;
27 import java.util.stream.*;
28
29 /*
30 * @test
31 * @bug 8242263
32 * @summary Exercise DiagnoseSyncOnValueBasedClasses diagnostic flag
33 * @library /test/lib
34 * @run driver/timeout=180000 SyncOnValueBasedClassTest
35 */
36
37 public class SyncOnValueBasedClassTest {
38 static final int LOOP_COUNT = 3000;
39 static final int THREAD_COUNT = 2;
40 static String[] fatalTests[];
41 static String[] logTests[];
42 static List<Object> testObjects = new ArrayList<Object>();
43
44 private static final String[] specificFlags[] = {
45 {"-Xint", "-XX:+UseBiasedLocking"},
46 {"-Xint", "-XX:-UseBiasedLocking"},
47 {"-Xcomp", "-XX:TieredStopAtLevel=1", "-XX:+UseBiasedLocking"},
48 {"-Xcomp", "-XX:TieredStopAtLevel=1", "-XX:-UseBiasedLocking"},
49 {"-Xcomp", "-XX:-TieredCompilation", "-XX:-UseBiasedLocking"},
50 {"-Xcomp", "-XX:-TieredCompilation", "-XX:+UseBiasedLocking", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+UseOptoBiasInlining"},
51 {"-Xcomp", "-XX:-TieredCompilation", "-XX:+UseBiasedLocking", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:-UseOptoBiasInlining"}
52 };
53
54 private static void initTestObjects() {
55 testObjects.add(Character.valueOf('H'));
56 testObjects.add(Boolean.valueOf(true));
57 testObjects.add(Byte.valueOf((byte)0x40));
58 testObjects.add(Short.valueOf((short)0x4000));
59 testObjects.add(Integer.valueOf(0x40000000));
60 testObjects.add(Long.valueOf(0x4000000000000000L));
61 testObjects.add(Float.valueOf(1.20f));
62 testObjects.add(Double.valueOf(1.2345));
63 }
64
65 private static void generateTests() {
66 initTestObjects();
67 String[] commonFatalTestsFlags = {"-XX:+UnlockDiagnosticVMOptions", "-XX:-CreateCoredumpOnCrash", "-XX:DiagnoseSyncOnValueBasedClasses=1"};
68 fatalTests = new String[specificFlags.length * testObjects.size()][];
69 for (int i = 0; i < specificFlags.length; i++) {
70 for (int j = 0; j < testObjects.size(); j++) {
71 int index = i * testObjects.size() + j;
|
25 import jdk.test.lib.process.OutputAnalyzer;
26 import java.util.*;
27 import java.util.stream.*;
28
29 /*
30 * @test
31 * @bug 8242263
32 * @summary Exercise DiagnoseSyncOnValueBasedClasses diagnostic flag
33 * @library /test/lib
34 * @run driver/timeout=180000 SyncOnValueBasedClassTest
35 */
36
37 public class SyncOnValueBasedClassTest {
38 static final int LOOP_COUNT = 3000;
39 static final int THREAD_COUNT = 2;
40 static String[] fatalTests[];
41 static String[] logTests[];
42 static List<Object> testObjects = new ArrayList<Object>();
43
44 private static final String[] specificFlags[] = {
45 {"-Xint", "-XX:-UseBiasedLocking"},
46 {"-Xcomp", "-XX:TieredStopAtLevel=1", "-XX:-UseBiasedLocking"},
47 {"-Xcomp", "-XX:-TieredCompilation", "-XX:-UseBiasedLocking"},
48 };
49
50 private static void initTestObjects() {
51 testObjects.add(Character.valueOf('H'));
52 testObjects.add(Boolean.valueOf(true));
53 testObjects.add(Byte.valueOf((byte)0x40));
54 testObjects.add(Short.valueOf((short)0x4000));
55 testObjects.add(Integer.valueOf(0x40000000));
56 testObjects.add(Long.valueOf(0x4000000000000000L));
57 testObjects.add(Float.valueOf(1.20f));
58 testObjects.add(Double.valueOf(1.2345));
59 }
60
61 private static void generateTests() {
62 initTestObjects();
63 String[] commonFatalTestsFlags = {"-XX:+UnlockDiagnosticVMOptions", "-XX:-CreateCoredumpOnCrash", "-XX:DiagnoseSyncOnValueBasedClasses=1"};
64 fatalTests = new String[specificFlags.length * testObjects.size()][];
65 for (int i = 0; i < specificFlags.length; i++) {
66 for (int j = 0; j < testObjects.size(); j++) {
67 int index = i * testObjects.size() + j;
|