RFR [8,10]: Fix Minimal and Zero builds
Aleksey Shipilev
shade at redhat.com
Mon Aug 13 10:42:09 UTC 2018
This fixes the sh/jdk8 and sh/jdk10 builds in Minimal and Zero variants. It does not affect sh/jdk
and sh/jdk11, because this code seems to be properly disabled in those configs.
diff -r 1be3c6447b5a src/hotspot/share/compiler/compileBroker.cpp
--- a/src/hotspot/share/compiler/compileBroker.cpp Mon Aug 06 16:49:07 2018 +0200
+++ b/src/hotspot/share/compiler/compileBroker.cpp Mon Aug 13 12:40:26 2018 +0200
@@ -56,10 +56,11 @@
#include "trace/tracing.hpp"
#include "utilities/debug.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
#include "utilities/formatBuffer.hpp"
+#include "utilities/macros.hpp"
#ifdef COMPILER1
#include "c1/c1_Compiler.hpp"
#endif
#if INCLUDE_JVMCI
#include "jvmci/jvmciCompiler.hpp"
@@ -1925,14 +1926,16 @@
failure_reason = ci_env.failure_reason();
retry_message = ci_env.retry_message();
ci_env.report_failure(failure_reason);
}
+#if INCLUDE_ALL_GCS
guarantee(!UseShenandoahGC || !ShenandoahCompileCheck || !target_compilable || (compilable !=
ciEnv::MethodCompilable_not_at_tier),
"Not compilable on level %d due to: %s", task_level, failure_reason);
guarantee(!UseShenandoahGC || !ShenandoahCompileCheck || !target_compilable ||(compilable !=
ciEnv::MethodCompilable_never || !target_compilable),
"Never compilable due to: %s", failure_reason);
+#endif
post_compile(thread, task, event, !ci_env.failing(), &ci_env);
}
// Remove the JNI handle block after the ciEnv destructor has run in
// the previous block.
diff -r 1be3c6447b5a src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Mon Aug 06 16:49:07 2018 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Mon Aug 13 12:40:26 2018 +0200
@@ -178,15 +178,17 @@
FLAG_SET_DEFAULT(TLABAllocationWeight, 90);
}
// Shenandoah needs more space in generated code to put barriers in.
// TODO: NMethodSizeLimit should not be develop.
+#ifdef COMPILER1
#ifdef ASSERT
if (FLAG_IS_DEFAULT(NMethodSizeLimit)) {
FLAG_SET_DEFAULT(NMethodSizeLimit, NMethodSizeLimit * 3);
}
#endif
+#endif
// Shenandoah needs more C2 nodes to compile some methods with lots of barriers.
// NodeLimitFudgeFactor needs to stay the same relative to MaxNodeLimit.
#ifdef COMPILER2
if (FLAG_IS_DEFAULT(MaxNodeLimit)) {
Testing: Zero, Minimal, Server builds
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list