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 endif
173
174 ifneq ($(call check-jvm-feature, jfr), true)
175 JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0
176 JVM_EXCLUDE_PATTERNS += jfr
177 endif
178
179 ################################################################################
180
181 ifeq ($(call check-jvm-feature, link-time-opt), true)
182 # NOTE: Disable automatic opimization level and let the explicit cflag control
183 # optimization level instead. This activates O3 on slowdebug builds, just
184 # like the old build, but it's probably not right.
185 JVM_OPTIMIZATION :=
186 JVM_CFLAGS_FEATURES += -O3 -flto
187 JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing
188 endif
189
190 ifeq ($(call check-jvm-feature, minimal), true)
191 ifeq ($(call check-jvm-feature, link-time-opt), false)
192 JVM_OPTIMIZATION := SIZE
193 OPT_SPEED_SRC := \
|