MCPcopy Create free account
hub / github.com/ElyPrismLauncher/Launcher / getBaseOptimizationArgs

Method getBaseOptimizationArgs

launcher/java/JavaPerformance.cpp:24–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22#include <QObject>
23
24QStringList JavaPerformance::getBaseOptimizationArgs(const JavaVersion& version, const GarbageCollectorPreset preset)
25{
26 QStringList args;
27
28 // Mojang default
29 // JEPs: https://openjdk.org/jeps/450, https://openjdk.org/jeps/519
30 if (version.major() >= 24) {
31 if (version.major() == 24) {
32 args << "-XX:+UnlockExperimentalVMOptions";
33 }
34 args << "-XX:+UseCompactObjectHeaders";
35 }
36
37 // Mojang default
38 // Since Java 8 for G1GC
39 // Since Java 18 for ZGC
40 if ((version.major() >= 8 && preset == GarbageCollectorPreset::G1GC) || version.major() >= 18) {
41 args << "-XX:+UseStringDeduplication";
42 }
43
44 // Enables parallel GC reference processing
45 // https://bugs.openjdk.org/browse/JDK-8359925
46 // Since Java 6
47 if (version.major() <= 25) {
48 args << "-XX:+ParallelRefProcEnabled";
49 }
50
51 // Mojang default
52 // Since Java 6 (minimum supported by us is Java 7)
53 args << "-XX:+AlwaysPreTouch";
54
55 // Prevents GC from doing writing performance data to filesystem
56 // https://www.evanjones.ca/jvm-mmap-pause.html
57 // Since Java 6
58 args << "-XX:+PerfDisableSharedMem";
59
60 return args;
61}
62
63QStringList JavaPerformance::getGarbageCollectorArgs(const JavaVersion& version, const GarbageCollectorPreset preset)
64{

Callers

nothing calls this directly

Calls 1

majorMethod · 0.80

Tested by

no test coverage detected