149 JVM_EXCLUDE_PATTERNS += gc/parallel 150 endif 151 152 ifneq ($(call check-jvm-feature, serialgc), true) 153 JVM_CFLAGS_FEATURES += -DINCLUDE_SERIALGC=0 154 JVM_EXCLUDE_PATTERNS += gc/serial 155 # If serial is disabled, we cannot use serial as OldGC in parallel 156 JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp 157 endif 158 159 ifneq ($(call check-jvm-feature, epsilongc), true) 160 JVM_CFLAGS_FEATURES += -DINCLUDE_EPSILONGC=0 161 JVM_EXCLUDE_PATTERNS += gc/epsilon 162 endif 163 164 ifneq ($(call check-jvm-feature, zgc), true) 165 JVM_CFLAGS_FEATURES += -DINCLUDE_ZGC=0 166 JVM_EXCLUDE_PATTERNS += gc/z 167 endif 168 169 ifneq ($(call check-jvm-feature, jfr), true) 170 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 171 JVM_EXCLUDE_PATTERNS += jfr 172 endif 173 174 ################################################################################ 175 176 ifeq ($(call check-jvm-feature, link-time-opt), true) 177 # NOTE: Disable automatic opimization level and let the explicit cflag control 178 # optimization level instead. This activates O3 on slowdebug builds, just 179 # like the old build, but it's probably not right. 180 JVM_OPTIMIZATION := 181 JVM_CFLAGS_FEATURES += -O3 -flto 182 JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing 183 endif 184 185 ifeq ($(call check-jvm-feature, minimal), true) 186 ifeq ($(call check-jvm-feature, link-time-opt), false) 187 JVM_OPTIMIZATION := SIZE 188 OPT_SPEED_SRC := \ | 149 JVM_EXCLUDE_PATTERNS += gc/parallel 150 endif 151 152 ifneq ($(call check-jvm-feature, serialgc), true) 153 JVM_CFLAGS_FEATURES += -DINCLUDE_SERIALGC=0 154 JVM_EXCLUDE_PATTERNS += gc/serial 155 # If serial is disabled, we cannot use serial as OldGC in parallel 156 JVM_EXCLUDE_FILES += psMarkSweep.cpp psMarkSweepDecorator.cpp 157 endif 158 159 ifneq ($(call check-jvm-feature, epsilongc), true) 160 JVM_CFLAGS_FEATURES += -DINCLUDE_EPSILONGC=0 161 JVM_EXCLUDE_PATTERNS += gc/epsilon 162 endif 163 164 ifneq ($(call check-jvm-feature, zgc), true) 165 JVM_CFLAGS_FEATURES += -DINCLUDE_ZGC=0 166 JVM_EXCLUDE_PATTERNS += gc/z 167 endif 168 169 ifneq ($(call check-jvm-feature, shenandoahgc), true) 170 JVM_CFLAGS_FEATURES += -DINCLUDE_SHENANDOAHGC=0 171 JVM_EXCLUDE_PATTERNS += gc/shenandoah 172 else 173 JVM_CFLAGS_FEATURES += -DSUPPORT_BARRIER_ON_PRIMITIVES -DSUPPORT_NOT_TO_SPACE_INVARIANT 174 endif 175 176 ifneq ($(call check-jvm-feature, jfr), true) 177 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 178 JVM_EXCLUDE_PATTERNS += jfr 179 endif 180 181 ################################################################################ 182 183 ifeq ($(call check-jvm-feature, link-time-opt), true) 184 # NOTE: Disable automatic opimization level and let the explicit cflag control 185 # optimization level instead. This activates O3 on slowdebug builds, just 186 # like the old build, but it's probably not right. 187 JVM_OPTIMIZATION := 188 JVM_CFLAGS_FEATURES += -O3 -flto 189 JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing 190 endif 191 192 ifeq ($(call check-jvm-feature, minimal), true) 193 ifeq ($(call check-jvm-feature, link-time-opt), false) 194 JVM_OPTIMIZATION := SIZE 195 OPT_SPEED_SRC := \ |