RFR: Increase inline limits only for release builds

Roman Kennke rkennke at redhat.com
Mon Sep 17 19:58:30 UTC 2018


Faster compilation of shenandoahConcurrentMark.cpp and
shenandoahTraversalGC.cpp! Thanks!!

(patch looks good of course)

Roman


> We have this inliner improvement for concurrent marking performance. I checked it still helps
> release builds (I'll follow up why exactly separately). But there is no particular need to do this
> in debug configurations:
> 
> diff -r 360a814fb68d make/hotspot/lib/JvmOverrideFiles.gmk
> --- a/make/hotspot/lib/JvmOverrideFiles.gmk     Mon Sep 17 14:36:52 2018 +0200
> +++ b/make/hotspot/lib/JvmOverrideFiles.gmk     Mon Sep 17 21:50:30 2018 +0200
> @@ -37,7 +37,9 @@
>    BUILD_LIBJVM_cardTableBarrierSetAssembler_x86.cpp_CXXFLAGS := -Wno-maybe-uninitialized
>    BUILD_LIBJVM_interp_masm_x86.cpp_CXXFLAGS := -Wno-uninitialized
> -  # Need extra inlining to collapse all the templated closures into the hot loop
> -  BUILD_LIBJVM_shenandoahConcurrentMark.cpp_CXXFLAGS := --param inline-unit-growth=1000
> -  BUILD_LIBJVM_shenandoahTraversalGC.cpp_CXXFLAGS := --param inline-unit-growth=1000
> +  ifeq ($(DEBUG_LEVEL), release)
> +    # Need extra inlining to collapse all marking code into the hot marking loop
> +    BUILD_LIBJVM_shenandoahConcurrentMark.cpp_CXXFLAGS := --param inline-unit-growth=1000
> +    BUILD_LIBJVM_shenandoahTraversalGC.cpp_CXXFLAGS := --param inline-unit-growth=1000
> +  endif
>  endif
> 
> This makes fastdebug build times around 15% better.
> 
> Testing: release/fastdebug builds
> 
> Thanks,
> -Aleksey
> 




More information about the shenandoah-dev mailing list