45 if (args.length == 0) {
46 // Dump and use shared archive with different flag combinations
47 dumpAndUseSharedArchive("+", "-");
48 dumpAndUseSharedArchive("-", "+");
49 } else {
50 // Call intrinsified java.lang.Math::fma()
51 Math.fma(1.0, 2.0, 3.0);
52
53 byte[] buffer = new byte[256];
54 // Call intrinsified java.util.zip.CRC32::update()
55 CRC32 crc32 = new CRC32();
56 crc32.update(buffer, 0, 256);
57
58 // Call intrinsified java.util.zip.CRC32C::updateBytes(..)
59 CRC32C crc32c = new CRC32C();
60 crc32c.update(buffer, 0, 256);
61 }
62 }
63
64 private static void dumpAndUseSharedArchive(String dump, String use) throws Exception {
65 String dumpFMA = "-XX:" + dump + "UseFMA";
66 String dumpCRC32 = "-XX:" + dump + "UseCRC32Intrinsics";
67 String dumpCRC32C = "-XX:" + dump + "UseCRC32CIntrinsics";
68 String useFMA = "-XX:" + use + "UseFMA";
69 String useCRC32 = "-XX:" + use + "UseCRC32Intrinsics";
70 String useCRC32C = "-XX:" + use + "UseCRC32CIntrinsics";
71
72 CDSTestUtils.createArchiveAndCheck(dumpFMA, dumpCRC32, dumpCRC32C);
73
74 CDSOptions opts = (new CDSOptions())
75 .addPrefix(useFMA, useCRC32, useCRC32C, "-showversion")
76 .addSuffix("TestInterpreterMethodEntries", "run")
77 .setUseVersion(false);
78 CDSTestUtils.runWithArchiveAndCheck(opts);
79 }
80 }
81
|
45 if (args.length == 0) {
46 // Dump and use shared archive with different flag combinations
47 dumpAndUseSharedArchive("+", "-");
48 dumpAndUseSharedArchive("-", "+");
49 } else {
50 // Call intrinsified java.lang.Math::fma()
51 Math.fma(1.0, 2.0, 3.0);
52
53 byte[] buffer = new byte[256];
54 // Call intrinsified java.util.zip.CRC32::update()
55 CRC32 crc32 = new CRC32();
56 crc32.update(buffer, 0, 256);
57
58 // Call intrinsified java.util.zip.CRC32C::updateBytes(..)
59 CRC32C crc32c = new CRC32C();
60 crc32c.update(buffer, 0, 256);
61 }
62 }
63
64 private static void dumpAndUseSharedArchive(String dump, String use) throws Exception {
65 String unlock = "-XX:+UnlockDiagnosticVMOptions";
66
67 String dumpFMA = "-XX:" + dump + "UseFMA";
68 String dumpCRC32 = "-XX:" + dump + "UseCRC32Intrinsics";
69 String dumpCRC32C = "-XX:" + dump + "UseCRC32CIntrinsics";
70 String useFMA = "-XX:" + use + "UseFMA";
71 String useCRC32 = "-XX:" + use + "UseCRC32Intrinsics";
72 String useCRC32C = "-XX:" + use + "UseCRC32CIntrinsics";
73
74 CDSTestUtils.createArchiveAndCheck(unlock, dumpFMA, dumpCRC32, dumpCRC32C);
75
76 CDSOptions opts = (new CDSOptions())
77 .addPrefix(unlock, useFMA, useCRC32, useCRC32C, "-showversion")
78 .addSuffix("TestInterpreterMethodEntries", "run")
79 .setUseVersion(false);
80 CDSTestUtils.runWithArchiveAndCheck(opts);
81 }
82 }
83
|