RFR: Increase inline limits only for release builds

Aleksey Shipilev shade at redhat.com
Mon Sep 17 19:56:18 UTC 2018


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