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