-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
25, 26
-
generic
-
generic
Currently the default JVM comes on most platforms with 4 jsa files (for coops/nocoops and with and without compressed object headers).
See also :
https://github.com/openjdk/jdk/blob/master/make/Images.gmk#L195C1-L213C6
ifeq ($(BUILD_CDS_ARCHIVE), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,)) \
)
ifeq ($(call isTargetCpuBits, 64), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_nocoops)) \
)
ifeq ($(BUILD_CDS_ARCHIVE_COH), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_coh)) \
)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_nocoops_coh)) \
)
endif
endif
endif
But there might be cases where the number of jsa files is reduced (see for example BUILD_CDS_ARCHIVE_COH).
The (jtreg) tests coming with the codebase should still work in case a JVM has reduced numbers of jsa files.
But for some tests this is currently not the case.
Examples:
test/hotspot/jtreg/runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java
test/hotspot/jtreg/runtime/cds/TestDefaultArchiveLoading.java
test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java (custom-cl-zgc)
Maybe we could add a new @requires tag for these tests?
Or somehow check that all jsa archives are present?
See also :
https://github.com/openjdk/jdk/blob/master/make/Images.gmk#L195C1-L213C6
ifeq ($(BUILD_CDS_ARCHIVE), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,)) \
)
ifeq ($(call isTargetCpuBits, 64), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_nocoops)) \
)
ifeq ($(BUILD_CDS_ARCHIVE_COH), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_coh)) \
)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call CreateCDSArchive,$v,_nocoops_coh)) \
)
endif
endif
endif
But there might be cases where the number of jsa files is reduced (see for example BUILD_CDS_ARCHIVE_COH).
The (jtreg) tests coming with the codebase should still work in case a JVM has reduced numbers of jsa files.
But for some tests this is currently not the case.
Examples:
test/hotspot/jtreg/runtime/CompressedOops/CompressedCPUSpecificClassSpaceReservation.java
test/hotspot/jtreg/runtime/cds/TestDefaultArchiveLoading.java
test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java (custom-cl-zgc)
Maybe we could add a new @requires tag for these tests?
Or somehow check that all jsa archives are present?
- links to
-
Review(master) openjdk/jdk/26820