Skip to content

Commit 1e57648

Browse files
committed
8350457: Implement JEP 519: Compact Object Headers
Reviewed-by: mdoerr, coleenp, zgu
1 parent 26053fe commit 1e57648

25 files changed

+70
-83
lines changed

make/conf/jib-profiles.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ var getJibProfilesCommon = function (input, data) {
254254
configure_args: concat(
255255
"--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",
256256
"--disable-jvm-feature-shenandoahgc",
257-
"--disable-cds-archive-coh",
258257
versionArgs(input, common))
259258
};
260259

src/hotspot/share/runtime/globals.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ const size_t minimumSymbolTableSize = 1024;
128128
"(Deprecated) Use 32-bit class pointers in 64-bit VM. " \
129129
"lp64_product means flag is always constant in 32 bit VM") \
130130
\
131-
product(bool, UseCompactObjectHeaders, false, EXPERIMENTAL, \
131+
product(bool, UseCompactObjectHeaders, false, \
132132
"Use compact 64-bit object headers in 64-bit VM") \
133133
\
134134
product(int, ObjectAlignmentInBytes, 8, \

test/hotspot/jtreg/compiler/arraycopy/TestArrayCopyNoInit.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:TypeProfileLevel=020
3030
* compiler.arraycopy.TestArrayCopyNoInit
3131
* @run main/othervm -XX:-BackgroundCompilation -XX:-UseOnStackReplacement -XX:TypeProfileLevel=020
32-
* -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders -XX:-UseTLAB
32+
* -XX:+UseCompactObjectHeaders -XX:-UseTLAB
3333
* compiler.arraycopy.TestArrayCopyNoInit
3434
*/
3535

test/hotspot/jtreg/compiler/c2/TestCastX2NotProcessedIGVN.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,16 @@ public class TestCastX2NotProcessedIGVN {
4545
public static void main(String[] args) {
4646
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
4747
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
48-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
48+
"-XX:-UseCompactObjectHeaders",
4949
"-XX:-AlignVector");
5050
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
51-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
51+
"-XX:-UseCompactObjectHeaders",
5252
"-XX:+AlignVector");
5353
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
54-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
54+
"-XX:+UseCompactObjectHeaders",
5555
"-XX:-AlignVector");
5656
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
57-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
57+
"-XX:+UseCompactObjectHeaders",
5858
"-XX:+AlignVector");
5959
}
6060

test/hotspot/jtreg/compiler/c2/irTests/TestVectorConditionalMove.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ public class TestVectorConditionalMove {
4545
public static void main(String[] args) {
4646
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
4747
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
48-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
48+
"-XX:-UseCompactObjectHeaders", "-XX:-AlignVector");
4949
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
50-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
50+
"-XX:-UseCompactObjectHeaders", "-XX:+AlignVector");
5151
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
52-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
52+
"-XX:+UseCompactObjectHeaders", "-XX:-AlignVector");
5353
TestFramework.runWithFlags("-XX:+UseCMoveUnconditionally", "-XX:+UseVectorCmov",
54-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
54+
"-XX:+UseCompactObjectHeaders", "-XX:+AlignVector");
5555
}
5656

5757
// Compare 2 values, and pick one of them

test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationMismatchedAccess.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ public class TestVectorizationMismatchedAccess {
5252
public static void main(String[] args) {
5353
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
5454
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
55-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
55+
"-XX:-UseCompactObjectHeaders",
5656
"-XX:-AlignVector");
5757
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
58-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
58+
"-XX:-UseCompactObjectHeaders",
5959
"-XX:+AlignVector");
6060
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
61-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
61+
"-XX:+UseCompactObjectHeaders",
6262
"-XX:-AlignVector");
6363
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
64-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
64+
"-XX:+UseCompactObjectHeaders",
6565
"-XX:+AlignVector");
6666
}
6767

test/hotspot/jtreg/compiler/c2/irTests/TestVectorizationNotRun.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ public class TestVectorizationNotRun {
4343
public static void main(String[] args) {
4444
// Cross-product: +-AlignVector and +-UseCompactObjectHeaders
4545
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
46-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
46+
"-XX:-UseCompactObjectHeaders",
4747
"-XX:-AlignVector");
4848
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
49-
"-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders",
49+
"-XX:-UseCompactObjectHeaders",
5050
"-XX:+AlignVector");
5151
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
52-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
52+
"-XX:+UseCompactObjectHeaders",
5353
"-XX:-AlignVector");
5454
TestFramework.runWithFlags("--add-modules", "java.base", "--add-exports", "java.base/jdk.internal.misc=ALL-UNNAMED",
55-
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
55+
"-XX:+UseCompactObjectHeaders",
5656
"-XX:+AlignVector");
5757
}
5858

test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVector.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,11 @@ public static void main(String[] args) {
114114
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=250");
115115

116116
switch (args[0]) {
117-
case "NoAlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
118-
case "AlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
119-
case "VerifyAlignVector" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
120-
case "NoAlignVector-COH" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
121-
case "VerifyAlignVector-COH" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
117+
case "NoAlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
118+
case "AlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
119+
case "VerifyAlignVector" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
120+
case "NoAlignVector-COH" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
121+
case "VerifyAlignVector-COH" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector", "-XX:+IgnoreUnrecognizedVMOptions", "-XX:+VerifyAlignVector"); }
122122
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
123123
}
124124
framework.start();

test/hotspot/jtreg/compiler/loopopts/superword/TestIndependentPacksWithCyclicDependency.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@ public static void main(String args[]) {
8282
"-XX:CompileCommand=compileonly,compiler.loopopts.superword.TestIndependentPacksWithCyclicDependency::init",
8383
"-XX:+IgnoreUnrecognizedVMOptions", "-XX:LoopUnrollLimit=1000");
8484
switch (args[0]) {
85-
case "nCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
86-
case "nCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
87-
case "yCOH_nAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
88-
case "yCOH_yAV" -> { framework.addFlags("-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
85+
case "nCOH_nAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:-AlignVector"); }
86+
case "nCOH_yAV" -> { framework.addFlags("-XX:-UseCompactObjectHeaders", "-XX:+AlignVector"); }
87+
case "yCOH_nAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:-AlignVector"); }
88+
case "yCOH_yAV" -> { framework.addFlags("-XX:+UseCompactObjectHeaders", "-XX:+AlignVector"); }
8989
default -> { throw new RuntimeException("Test argument not recognized: " + args[0]); }
9090
};
9191
framework.start();

test/hotspot/jtreg/compiler/loopopts/superword/TestMulAddS2I.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,10 @@ public class TestMulAddS2I {
7777

7878

7979
public static void main(String[] args) {
80-
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaers");
81-
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:-UseCompactObjectHeaers");
82-
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaers");
83-
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaers");
80+
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:-UseCompactObjectHeaers");
81+
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:-UseCompactObjectHeaers");
82+
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:-AlignVector", "-XX:+UseCompactObjectHeaers");
83+
TestFramework.runWithFlags("-XX:+IgnoreUnrecognizedVMOptions", "-XX:+AlignVector", "-XX:+UseCompactObjectHeaers");
8484
}
8585

8686
@Run(test = {"testa", "testb", "testc", "testd", "teste", "testf", "testg", "testh",

0 commit comments

Comments
 (0)