RFR: 8292329: Enable CDS shared heap for zero builds [v2]
Erik Joelsson
erikj at openjdk.org
Tue Aug 23 22:52:36 UTC 2022
On Tue, 23 Aug 2022 22:08:10 GMT, Erik Joelsson <erikj at openjdk.org> wrote:
>> @erikj79 I couldn't get it to work. I believe the following is evaluated only once, so `$(JVM_VARIANT)` is bound to the value when HotspotCommon.gmk is loaded:
>>
>>
>> check-jvm-feature = \
>> $(strip \
>> $(if $(filter-out $(VALID_JVM_FEATURES), $1), \
>> $(error Internal error: Invalid feature tested: $1)) \
>> $(if $(filter $1, $(JVM_FEATURES_$(JVM_VARIANT))), true, false))
>>
>>
>> So I would need to run a submake in order to get this function to behave differently for each variant. That's going to be complicated in order to support multiple JVM variants per build.
>>
>> I heard that we are going to remove multiple variant support (?), so maybe this is not worth it.
>
> The suggested code should be something like this, note the double `$$` in the call.
>
> Suggestion:
>
> $1_$2_CDS_DUMP_FLAGS := $$(CDS_DUMP_FLAGS)
> ifeq ($$(call check-jvm-feature, g1gc), true)
> $1_$2_CDS_DUMP_FLAGS += -XX:+UseG1GC
> endif
I just realized that check-jvm-feature is only defined in HotspotCommon.gmk, which isn't included here (and can't really be either without modifications). Sorry to lead you on a wild goose chase. Unless Magnus can think of a reasonable way of exposing that macro here, I think your current solution is good enough.
-------------
PR: https://git.openjdk.org/jdk/pull/9984
More information about the build-dev
mailing list