aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/cpp/blaze.cc6
-rw-r--r--tools/jdk/default_java_toolchain.bzl4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/main/cpp/blaze.cc b/src/main/cpp/blaze.cc
index 5813619b68..739dc20ff8 100644
--- a/src/main/cpp/blaze.cc
+++ b/src/main/cpp/blaze.cc
@@ -420,8 +420,12 @@ static vector<string> GetArgumentArray(
// TODO(b/109998449): only assume JDK >= 9 for embedded JDKs
if (!globals->options->GetEmbeddedJavabase().empty()) {
- // quiet warnings from com.google.protobuf.UnsafeUtil,
+ // In JDK9 we have seen a slow down when using the default G1 collector
+ // and thus switch back to parallel gc.
+ result.push_back("-XX:+UseParallelOldGC");
// see: https://github.com/google/protobuf/issues/3781
+
+ // quiet warnings from com.google.protobuf.UnsafeUtil,
result.push_back("--add-opens=java.base/java.nio=ALL-UNNAMED");
}
diff --git a/tools/jdk/default_java_toolchain.bzl b/tools/jdk/default_java_toolchain.bzl
index f4dc03577c..c518d026b3 100644
--- a/tools/jdk/default_java_toolchain.bzl
+++ b/tools/jdk/default_java_toolchain.bzl
@@ -19,6 +19,10 @@ JDK8_JVM_OPTS = [
]
JDK9_JVM_OPTS = [
+ # In JDK9 we have seen a ~30% slow down in JavaBuilder performance when using
+ # G1 collector and having compact strings enabled.
+ "-XX:+UseParallelOldGC",
+ "-XX:-CompactStrings",
# Allow JavaBuilder to access internal javac APIs.
"--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
"--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",