diff --git a/make/hotspot/lib/JvmFeatures.gmk b/make/hotspot/lib/JvmFeatures.gmk index 09a48508effa8..6355a331ef7d4 100644 --- a/make/hotspot/lib/JvmFeatures.gmk +++ b/make/hotspot/lib/JvmFeatures.gmk @@ -169,19 +169,19 @@ ifeq ($(call check-jvm-feature, link-time-opt), true) # Set JVM_OPTIMIZATION directly so other jvm-feature flags can override it # later on if desired JVM_OPTIMIZATION := HIGHEST_JVM - ifeq ($(call isCompiler, gcc), true) - JVM_CFLAGS_FEATURES += -flto=auto -fuse-linker-plugin -fno-strict-aliasing \ + ifeq ($(TOOLCHAIN_TYPE), gcc) + JVM_CFLAGS_FEATURES += -flto=$(JOBS) -fuse-linker-plugin -fno-strict-aliasing \ -fno-fat-lto-objects - JVM_LDFLAGS_FEATURES += $(CXX_O_FLAG_HIGHEST_JVM) -flto=auto \ - -fuse-linker-plugin -fno-strict-aliasing - else ifeq ($(call isCompiler, clang), true) + JVM_LDFLAGS_FEATURES += $(CXX_O_FLAG_HIGHEST_JVM) -flto=$(JOBS) \ + -fuse-linker-plugin -fno-strict-aliasing -fno-omit-frame-pointer -Wno-attribute-warning + else ifeq ($(TOOLCHAIN_TYPE), clang) JVM_CFLAGS_FEATURES += -flto -fno-strict-aliasing - ifeq ($(call isBuildOs, aix), true) + ifeq ($(call isTargetOs, aix), true) JVM_CFLAGS_FEATURES += -ffat-lto-objects endif JVM_LDFLAGS_FEATURES += $(CXX_O_FLAG_HIGHEST_JVM) -flto -fno-strict-aliasing - else ifeq ($(call isCompiler, microsoft), true) - JVM_CFLAGS_FEATURES += -GL + else ifeq ($(TOOLCHAIN_TYPE), microsoft) + JVM_CFLAGS_FEATURES += -GL -Gy JVM_LDFLAGS_FEATURES += -LTCG:INCREMENTAL endif else diff --git a/make/hotspot/lib/JvmOverrideFiles.gmk b/make/hotspot/lib/JvmOverrideFiles.gmk index 6a513e10c61d4..63169b4d6724b 100644 --- a/make/hotspot/lib/JvmOverrideFiles.gmk +++ b/make/hotspot/lib/JvmOverrideFiles.gmk @@ -37,10 +37,6 @@ ifeq ($(TOOLCHAIN_TYPE), gcc) # Need extra inlining to collapse shared marking code into the hot marking loop BUILD_LIBJVM_shenandoahMark.cpp_CXXFLAGS := --param inline-unit-growth=1000 endif - # disable lto in g1ParScanThreadState because of special inlining/flattening used there - ifeq ($(call check-jvm-feature, link-time-opt), true) - BUILD_LIBJVM_g1ParScanThreadState.cpp_CXXFLAGS := -fno-lto - endif endif LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NONE)