Skip to content

Commit 8da3a0d

Browse files
authored
Enable JEP-450 and ZGC (#13175)
* Enable JEP-519 * Fix reference * Add ZGC garbage collector * Port things to jabsrv-cli * Enable Uncommit * Add -XX:+UseStringDeduplication
1 parent 068065c commit 8da3a0d

File tree

5 files changed

+29
-12
lines changed

5 files changed

+29
-12
lines changed

.github/workflows/binaries-ea.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,10 @@ jobs:
360360
--resource-dir buildres/mac \
361361
--file-associations buildres/mac/bibtexAssociations.properties \
362362
--jlink-options --bind-services \
363+
--java-options -XX:+UnlockExperimentalVMOptions \
364+
--java-options -XX:+UseCompactObjectHeaders \
365+
--java-options -XX:+UseZGC --java-options -XX:+ZUncommit \
366+
--java-options -XX:+UseStringDeduplication \
363367
--java-options --add-exports=javafx.base/com.sun.javafx.event=org.jabref.merged.module \
364368
--java-options --add-exports=javafx.controls/com.sun.javafx.scene.control=org.jabref.merged.module \
365369
--java-options --add-opens=javafx.graphics/javafx.scene=org.jabref.merged.module \

.github/workflows/binaries.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,10 @@ jobs:
259259
--resource-dir buildres/mac \
260260
--file-associations buildres/mac/bibtexAssociations.properties \
261261
--jlink-options --bind-services \
262+
--java-options -XX:+UnlockExperimentalVMOptions \
263+
--java-options -XX:+UseCompactObjectHeaders \
264+
--java-options -XX:+UseZGC --java-options -XX:+ZUncommit \
265+
--java-options -XX:+UseStringDeduplication \
262266
--java-options --add-exports=javafx.base/com.sun.javafx.event=org.jabref.merged.module \
263267
--java-options --add-exports=javafx.controls/com.sun.javafx.scene.control=org.jabref.merged.module \
264268
--java-options --add-opens=javafx.graphics/javafx.scene=org.jabref.merged.module \

jabgui/build.gradle.kts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,16 @@ application {
147147
applicationDefaultJvmArgs = listOf(
148148
// On a change here, also adapt
149149
// 1. "run > moduleOptions"
150-
// 2. "deployment.yml" (macOS part)
151-
// 3. "deployment-arm64.yml"
150+
// 2. "binaries.yml" (macOS part)
152151

153152
// Note that the arguments are cleared for the "run" task to avoid messages like "WARNING: Unknown module: org.jabref.merged.module specified to --add-exports"
154153

154+
// Enable JEP 450: Compact Object Headers
155+
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
156+
157+
"-XX:+UseZGC", "-XX:+ZUncommit",
158+
"-XX:+UseStringDeduplication",
159+
155160
// Fix for https://github.com/JabRef/jabref/issues/11188
156161
"--add-exports=javafx.base/com.sun.javafx.event=org.jabref.merged.module",
157162
"--add-exports=javafx.controls/com.sun.javafx.scene.control=org.jabref.merged.module",

jabkit/build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ application {
7878

7979
// Also passed to launcher (https://badass-jlink-plugin.beryx.org/releases/latest/#launcher)
8080
applicationDefaultJvmArgs = listOf(
81+
// Enable JEP 450: Compact Object Headers
82+
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
83+
84+
// Default garbage collector is sufficient for CLI APP
85+
// "-XX:+UseZGC", "-XX:+ZUncommit",
86+
// "-XX:+UseStringDeduplication",
87+
8188
"--enable-native-access=com.sun.jna,javafx.graphics,org.apache.lucene.core"
8289
)
8390
}

jabsrv-cli/build.gradle.kts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@ application{
1717
mainModule.set("org.jabref.jabsrv.cli")
1818

1919
applicationDefaultJvmArgs = listOf(
20-
"--enable-native-access=com.sun.jna"
20+
// Enable JEP 450: Compact Object Headers
21+
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseCompactObjectHeaders",
22+
23+
"-XX:+UseZGC", "-XX:+ZUncommit",
24+
"-XX:+UseStringDeduplication",
25+
26+
"--enable-native-access=com.sun.jna,org.apache.lucene.core"
2127
)
2228
}
2329

@@ -119,15 +125,6 @@ tasks.named<JavaExec>("run") {
119125
}
120126
}
121127

122-
tasks.named<JavaExec>("run") {
123-
doFirst {
124-
application.applicationDefaultJvmArgs =
125-
listOf(
126-
"--enable-native-access=com.sun.jna"
127-
)
128-
}
129-
}
130-
131128
// This is more or less a clone of jabgui/build.gradle.kts -> jlink
132129
jlink {
133130
// https://github.com/beryx/badass-jlink-plugin/issues/61#issuecomment-504640018

0 commit comments

Comments
 (0)