138 JVM_EXCLUDE_PATTERNS += gc/cms 139 endif 140 141 ifneq ($(call check-jvm-feature, g1gc), true) 142 JVM_CFLAGS_FEATURES += -DINCLUDE_G1GC=0 143 JVM_EXCLUDE_PATTERNS += gc/g1 144 endif 145 146 ifneq ($(call check-jvm-feature, parallelgc), true) 147 JVM_CFLAGS_FEATURES += -DINCLUDE_PARALLELGC=0 148 JVM_EXCLUDE_PATTERNS += gc/parallel 149 endif 150 151 ifneq ($(call check-jvm-feature, serialgc), true) 152 JVM_CFLAGS_FEATURES += -DINCLUDE_SERIALGC=0 153 JVM_EXCLUDE_PATTERNS += gc/serial 154 # If serial is disabled, we cannot use serial as OldGC in parallel 155 JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp 156 endif 157 158 ifneq ($(call check-jvm-feature, jfr), true) 159 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 160 JVM_EXCLUDE_PATTERNS += jfr 161 endif 162 163 ################################################################################ 164 165 ifeq ($(call check-jvm-feature, link-time-opt), true) 166 # NOTE: Disable automatic opimization level and let the explicit cflag control 167 # optimization level instead. This activates O3 on slowdebug builds, just 168 # like the old build, but it's probably not right. 169 JVM_OPTIMIZATION := 170 JVM_CFLAGS_FEATURES += -O3 -flto 171 JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing 172 endif 173 174 ifeq ($(call check-jvm-feature, minimal), true) 175 ifeq ($(call check-jvm-feature, link-time-opt), false) 176 JVM_OPTIMIZATION := SIZE 177 OPT_SPEED_SRC := \ | 138 JVM_EXCLUDE_PATTERNS += gc/cms 139 endif 140 141 ifneq ($(call check-jvm-feature, g1gc), true) 142 JVM_CFLAGS_FEATURES += -DINCLUDE_G1GC=0 143 JVM_EXCLUDE_PATTERNS += gc/g1 144 endif 145 146 ifneq ($(call check-jvm-feature, parallelgc), true) 147 JVM_CFLAGS_FEATURES += -DINCLUDE_PARALLELGC=0 148 JVM_EXCLUDE_PATTERNS += gc/parallel 149 endif 150 151 ifneq ($(call check-jvm-feature, serialgc), true) 152 JVM_CFLAGS_FEATURES += -DINCLUDE_SERIALGC=0 153 JVM_EXCLUDE_PATTERNS += gc/serial 154 # If serial is disabled, we cannot use serial as OldGC in parallel 155 JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp 156 endif 157 158 ifneq ($(call check-jvm-feature, zgc), true) 159 JVM_CFLAGS_FEATURES += -DINCLUDE_ZGC=0 160 JVM_EXCLUDE_PATTERNS += gc/z 161 endif 162 163 ifneq ($(call check-jvm-feature, jfr), true) 164 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 165 JVM_EXCLUDE_PATTERNS += jfr 166 endif 167 168 ################################################################################ 169 170 ifeq ($(call check-jvm-feature, link-time-opt), true) 171 # NOTE: Disable automatic opimization level and let the explicit cflag control 172 # optimization level instead. This activates O3 on slowdebug builds, just 173 # like the old build, but it's probably not right. 174 JVM_OPTIMIZATION := 175 JVM_CFLAGS_FEATURES += -O3 -flto 176 JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing 177 endif 178 179 ifeq ($(call check-jvm-feature, minimal), true) 180 ifeq ($(call check-jvm-feature, link-time-opt), false) 181 JVM_OPTIMIZATION := SIZE 182 OPT_SPEED_SRC := \ |