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