mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
8350457: Implement JEP 519: Compact Object Headers
Reviewed-by: mdoerr, coleenp, zgu
This commit is contained in:
parent
26053fe783
commit
1e57648abd
@ -254,7 +254,6 @@ var getJibProfilesCommon = function (input, data) {
|
||||
configure_args: concat(
|
||||
"--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
|
||||
"--disable-jvm-feature-shenandoahgc",
|
||||
"--disable-cds-archive-coh",
|
||||
versionArgs(input, common))
|
||||
};
|
||||
|
||||
|
||||
@ -128,7 +128,7 @@ const size_t minimumSymbolTableSize = 1024;
|
||||
"(Deprecated) Use 32-bit class pointers in 64-bit VM. " \
|
||||
"lp64_product means flag is always constant in 32 bit VM") \
|
||||
\
|
||||
product(bool, UseCompactObjectHeaders, false, EXPERIMENTAL, \
|
||||
product(bool, UseCompactObjectHeaders, false, \
|
||||
"Use compact 64-bit object headers in 64-bit VM") \
|
||||
\
|
||||
product(int, ObjectAlignmentInBytes, 8, \
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
* @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:TypeProfileLevel=020
|
||||
* compiler.arraycopy.TestArrayCopyNoInit
|
||||
* @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:TypeProfileLevel=020
|
||||
* -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:-UseTLAB
|
||||
* -XX:+UseCompactObjectHeaders -XX:-UseTLAB
|
||||
* compiler.arraycopy.TestArrayCopyNoInit
|
||||
*/
|
||||
|
||||
|
||||
@ -45,16 +45,16 @@ public class TestCastX2NotProcessedIGVN {
|
||||
public static void main(String[] args) {
|
||||
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
}
|
||||
|
||||
|
||||
@ -45,13 +45,13 @@ public class TestVectorConditionalMove {
|
||||
public static void main(String[] args) {
|
||||
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
|
||||
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
"-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
"-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
"-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
"-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
}
|
||||
|
||||
// Compare 2 values, and pick one of them
|
||||
|
||||
@ -52,16 +52,16 @@ public class TestVectorizationMismatchedAccess {
|
||||
public static void main(String[] args) {
|
||||
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
}
|
||||
|
||||
|
||||
@ -43,16 +43,16 @@ public class TestVectorizationNotRun {
|
||||
public static void main(String[] args) {
|
||||
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+UseCompactObjectHeaders",
|
||||
"-XX:+AlignVector");
|
||||
}
|
||||
|
||||
|
||||
@ -114,11 +114,11 @@ public class TestAlignVector {
|
||||
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=250");
|
||||
|
||||
switch (args[0]) {
|
||||
case "NoAlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "AlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "VerifyAlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
|
||||
case "NoAlignVector-COH" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "VerifyAlignVector-COH" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
|
||||
case "NoAlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "AlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "VerifyAlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
|
||||
case "NoAlignVector-COH" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "VerifyAlignVector-COH" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
}
|
||||
framework.start();
|
||||
|
||||
@ -82,10 +82,10 @@ public class TestIndependentPacksWithCyclicDependency {
|
||||
"-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency::init",
|
||||
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000");
|
||||
switch (args[0]) {
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
framework.start();
|
||||
|
||||
@ -77,10 +77,10 @@ public class TestMulAddS2I {
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:-UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:-UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UseCompactObjectHeaers");
|
||||
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UseCompactObjectHeaers");
|
||||
}
|
||||
|
||||
@Run(test = {"testa", "testb", "testc", "testd", "teste", "testf", "testg", "testh",
|
||||
|
||||
@ -61,10 +61,10 @@ public class TestScheduleReordersScalarMemops {
|
||||
"-XX:-TieredCompilation", "-Xbatch",
|
||||
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000");
|
||||
switch (args[0]) {
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
framework.start();
|
||||
|
||||
@ -76,10 +76,10 @@ public class TestSplitPacks {
|
||||
TestFramework framework = new TestFramework(TestSplitPacks.class);
|
||||
framework.addFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000");
|
||||
switch (args[0]) {
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
framework.start();
|
||||
|
||||
@ -39,10 +39,10 @@ public class TestUnorderedReductionPartialVectorization {
|
||||
static final int ITER = 10;
|
||||
|
||||
public static void main(String[] args) {
|
||||
TestFramework.runWithFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
|
||||
TestFramework.runWithFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
|
||||
}
|
||||
|
||||
@Run(test = {"test1"})
|
||||
|
||||
@ -50,10 +50,10 @@ public class TestFloatConversionsVector {
|
||||
TestFramework framework = new TestFramework(TestFloatConversionsVector.class);
|
||||
framework.addFlags("-XX:-TieredCompilation", "-XX:CompileThresholdScaling=0.3");
|
||||
switch (args[0]) {
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
framework.start();
|
||||
|
||||
@ -53,10 +53,10 @@ public class TestFloatConversionsVectorNaN {
|
||||
TestFramework framework = new TestFramework(TestFloatConversionsVectorNaN.class);
|
||||
framework.addFlags("-XX:-TieredCompilation", "-XX:CompileThresholdScaling=0.3");
|
||||
switch (args[0]) {
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
|
||||
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
framework.start();
|
||||
|
||||
@ -69,10 +69,10 @@ public class ArrayTypeConvertTest extends VectorizationTestRunner {
|
||||
@Override
|
||||
protected String[] testVMFlags(String[] args) {
|
||||
return switch (args[0]) {
|
||||
case "nCOH_nAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "nCOH_yAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "yCOH_nAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "yCOH_yAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "nCOH_nAV" -> new String[]{"-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "nCOH_yAV" -> new String[]{"-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "yCOH_nAV" -> new String[]{"-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "yCOH_yAV" -> new String[]{"-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
}
|
||||
|
||||
@ -67,10 +67,10 @@ public class LoopCombinedOpTest extends VectorizationTestRunner {
|
||||
@Override
|
||||
protected String[] testVMFlags(String[] args) {
|
||||
return switch (args[0]) {
|
||||
case "nCOH_nAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "nCOH_yAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "yCOH_nAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "yCOH_yAV" -> new String[]{"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "nCOH_nAV" -> new String[]{"-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "nCOH_yAV" -> new String[]{"-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
case "yCOH_nAV" -> new String[]{"-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"};
|
||||
case "yCOH_yAV" -> new String[]{"-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"};
|
||||
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
|
||||
};
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* java.xml
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:+UnlockExperimentalVMOptions -XX:-UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=128m
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:-UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=128m
|
||||
*/
|
||||
|
||||
/* @test id=ccp_off
|
||||
@ -49,12 +49,12 @@
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* java.xml
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=128m
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:+UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=128m
|
||||
*/
|
||||
|
||||
/* @test id=use-zero-based-encoding-coh-large-class-space
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* java.xml
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=4g
|
||||
* @run main/native GTestWrapper --gtest_filter=CompressedKlass* -XX:+UseCompactObjectHeaders -Xlog:metaspace* -Xmx6g -Xms128m -Xshare:off -XX:CompressedClassSpaceSize=4g
|
||||
*/
|
||||
|
||||
@ -58,5 +58,5 @@
|
||||
* @requires vm.bits == 64
|
||||
* @requires vm.flagless
|
||||
* @requires vm.debug
|
||||
* @run main/native GTestWrapper --gtest_filter=metaspace* -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders
|
||||
* @run main/native GTestWrapper --gtest_filter=metaspace* -XX:+UseCompactObjectHeaders
|
||||
*/
|
||||
|
||||
@ -56,7 +56,7 @@ public class CompressedCPUSpecificClassSpaceReservation {
|
||||
"-Xshare:" + (CDS ? "on" : "off"),
|
||||
"-Xmx128m",
|
||||
"-XX:CompressedClassSpaceSize=128m",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"-Xlog:metaspace*", "-Xlog:metaspace+map=trace", "-Xlog:os+map=trace",
|
||||
"-XX:+SimulateFullAddressSpace", // So that no resevation attempt will succeed
|
||||
"-version");
|
||||
|
||||
@ -99,7 +99,6 @@ public class AccessZeroNKlassHitsProtectionZone {
|
||||
args.add("-Xlog:metaspace*");
|
||||
args.add("-Xlog:cds");
|
||||
if (COH) {
|
||||
args.add("-XX:+UnlockExperimentalVMOptions");
|
||||
args.add("-XX:+UseCompactObjectHeaders");
|
||||
}
|
||||
if (CDS) {
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=no-coops-with-ccp
|
||||
@ -39,7 +39,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:-UseCompressedOops -XX:+UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:-UseCompressedOops -XX:+UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=with-coops-no-ccp
|
||||
@ -49,7 +49,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -XX:-UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UseCompressedOops -XX:-UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=no-coops-no-ccp
|
||||
@ -59,7 +59,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:-UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=with-coop--with-coh
|
||||
@ -69,7 +69,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -XX:+UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UseCompressedOops -XX:+UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=no-coops-with-coh
|
||||
@ -79,7 +79,7 @@
|
||||
* java.management
|
||||
* @build jdk.test.whitebox.WhiteBox
|
||||
* @run driver jdk.test.lib.helpers.ClassFileInstaller jdk.test.whitebox.WhiteBox
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:-UseCompressedOops -XX:+UseCompactObjectHeaders BaseOffsets
|
||||
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:-UseCompressedOops -XX:+UseCompactObjectHeaders BaseOffsets
|
||||
*/
|
||||
/*
|
||||
* @test id=32bit
|
||||
|
||||
@ -132,7 +132,6 @@ public class TestDefaultArchiveLoading {
|
||||
}
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createLimitedTestJavaProcessBuilder(
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:" + coh + "UseCompactObjectHeaders",
|
||||
"-XX:" + coops + "UseCompressedOops",
|
||||
"-Xlog:cds",
|
||||
|
||||
@ -49,7 +49,6 @@ public class TestZGCWithCDS {
|
||||
.dump(helloJar,
|
||||
new String[] {"Hello"},
|
||||
"-XX:+UseZGC",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds");
|
||||
out.shouldContain("Dumping shared data to file:");
|
||||
@ -59,7 +58,6 @@ public class TestZGCWithCDS {
|
||||
out = TestCommon
|
||||
.exec(helloJar,
|
||||
"-XX:+UseZGC",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -72,7 +70,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:-UseZGC",
|
||||
"-XX:+UseCompressedOops", // in case turned off by vmoptions
|
||||
"-XX:+UseCompressedClassPointers", // by jtreg
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -86,7 +83,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:+UseSerialGC",
|
||||
"-XX:-UseCompressedOops",
|
||||
"-XX:-UseCompressedClassPointers",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -100,7 +96,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:+UseSerialGC",
|
||||
"-XX:-UseCompressedOops",
|
||||
"-XX:+UseCompressedClassPointers",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -113,7 +108,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:+UseSerialGC",
|
||||
"-XX:+UseCompressedOops",
|
||||
"-XX:-UseCompressedClassPointers",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -127,7 +121,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:+UseSerialGC",
|
||||
"-XX:+UseCompressedOops",
|
||||
"-XX:+UseCompressedClassPointers",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
@ -142,7 +135,6 @@ public class TestZGCWithCDS {
|
||||
"-XX:+UseSerialGC",
|
||||
"-XX:-UseCompressedOops",
|
||||
"-XX:+UseCompressedClassPointers",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds");
|
||||
out.shouldContain("Dumping shared data to file:");
|
||||
@ -152,7 +144,6 @@ public class TestZGCWithCDS {
|
||||
out = TestCommon
|
||||
.exec(helloJar,
|
||||
"-XX:+UseZGC",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
compactHeaders,
|
||||
"-Xlog:cds",
|
||||
"Hello");
|
||||
|
||||
@ -122,7 +122,6 @@ public class JNIMonitor {
|
||||
// We only count monitors in LM_LEGACY mode
|
||||
"-XX:LockingMode=1",
|
||||
// Disable compact headers since that switches locking mode to LM_LIGHTWEIGHT
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:-UseCompactObjectHeaders",
|
||||
"JNIMonitor$" + test,
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user