8385437: Provide test property vm.cds.nocoh.archive.available and use it in CompressedCPUSpecificClassSpaceReservation

Reviewed-by: coleenp, azeller, mdoerr
This commit is contained in:
Matthias Baesken 2026-05-28 07:23:05 +00:00
parent 2c7efc0880
commit 8c5a446c33
3 changed files with 14 additions and 1 deletions

View File

@ -78,6 +78,7 @@ requires.properties= \
vm.cds \
vm.cds.default.archive.available \
vm.cds.nocoops.archive.available \
vm.cds.nocoh.archive.available \
vm.cds.custom.loaders \
vm.cds.supports.aot.class.linking \
vm.cds.supports.aot.code.caching \

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2023, 2025, Red Hat. All rights reserved.
* Copyright (c) 2023, 2026, Red Hat. All rights reserved.
* Copyright (c) 2023, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@ -29,6 +29,7 @@
* @requires vm.flagless
* @requires vm.cds
* @requires vm.cds.default.archive.available
* @requires vm.cds.nocoh.archive.available
* @requires (os.family != "windows") & (os.family != "aix")
* @library /test/lib
* @modules java.base/jdk.internal.misc

View File

@ -119,6 +119,7 @@ public class VMProps implements Callable<Map<String, String>> {
map.put("vm.cds", this::vmCDS);
map.put("vm.cds.default.archive.available", this::vmCDSDefaultArchiveAvailable);
map.put("vm.cds.nocoops.archive.available", this::vmCDSNocoopsArchiveAvailable);
map.put("vm.cds.nocoh.archive.available", this::vmCDSNocohArchiveAvailable);
map.put("vm.cds.custom.loaders", this::vmCDSForCustomLoaders);
map.put("vm.cds.supports.aot.class.linking", this::vmCDSSupportsAOTClassLinking);
map.put("vm.cds.supports.aot.code.caching", this::vmCDSSupportsAOTCodeCaching);
@ -418,6 +419,16 @@ public class VMProps implements Callable<Map<String, String>> {
return "" + ("true".equals(vmCDS()) && Files.exists(archive));
}
/**
* Check for CDS no compact object headers archive existence.
*
* @return true if CDS archive classes_nocoh.jsa exists in the JDK to be tested.
*/
protected String vmCDSNocohArchiveAvailable() {
Path archive = Paths.get(System.getProperty("java.home"), "lib", "server", "classes_nocoh.jsa");
return "" + ("true".equals(vmCDS()) && Files.exists(archive));
}
/**
* Check for CDS support for custom loaders.
*