RFR [8,10]: Fix Minimal and Zero builds
Zhengyu Gu
zgu at redhat.com
Mon Aug 13 15:44:56 UTC 2018
Looks good.
-Zhengyu
On 08/13/2018 06:42 AM, Aleksey Shipilev wrote:
> 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