[crac] Integrated: Merge jdk:jdk-27+5
Timofei Pushkin
tpushkin at openjdk.org
Mon Feb 2 15:14:45 UTC 2026
On Wed, 28 Jan 2026 08:18:08 GMT, Timofei Pushkin <tpushkin at openjdk.org> wrote:
> Merge of mainline up to tag `jdk-27+5`.
>
> Output of `git show --remerge-diff`: https://gist.github.com/TimPushkin/08b5f317377b4f3be0d13a83600af362
>
> Major conflicts/changes:
> - Removed a bunch of expired VM options
> - Removed uses of `IgnoreCPUFeatures` as it becomes obsoleted with 27
> - Sorted includes with `test/hotspot/jtreg/sources/SortIncludes.java` because there's now a test checking the include order in CI
> - Replaced `snprintf` with `os::snprintf` because the use of the former now fails the build (it is marked deprecated)
> - Moved code that cleans heap before checkpoint because of changes in GCs: [JDK-8368740](https://bugs.openjdk.org/browse/JDK-8368740) (Serial), [JDK-8338977](https://bugs.openjdk.org/browse/JDK-8338977) (Parallel), [JDK-8238687](https://bugs.openjdk.org/browse/JDK-8238687) (G1)
> - Handled the new `HYBRID` CPU feature as not GLIBC-tunable — not sure if it is indeed not tunable (don't know how to check reliably)
> - Rewrote CPU features to string conversions to use `stringStream` because of [JDK-8364128](https://bugs.openjdk.org/browse/JDK-8364128)
> - Deferred initialization of `JDKFileResource.CLASSPATH_ENTRIES` until checkpoint: having it static changed the order of static initializations during VM startup from what is in the mainline in a way that class loading from CDS-archived JDK modules broke. When starting from a CDS archive, `ArchivedClassLoaders` and `BuiltinClassLoader` have a circular static-init dependency, and in CRaC the order was "wrong". I'd say that this is a CDS bug but it seems easier for us to apply this workaround, plus it improves performance when C/R is not used.
> - Separated Docker code from `CracBuilder` into `CracContainerBuilder`: because of https://github.com/openjdk/jdk/pull/28557#issuecomment-3597274354 all tests that use `DockerTestUtils` now require `@modules java.base/jdk.internal.platform`, so all CRaC tests that use `CracContainerBuilder` now require it
This pull request has now been integrated.
Changeset: 2f0af59e
Author: Timofei Pushkin <tpushkin at openjdk.org>
URL: https://git.openjdk.org/crac/commit/2f0af59e4d38d4f48bccf21f7c1515625597f749
Stats: 825701 lines in 10640 files changed: 544360 ins; 173424 del; 107917 mod
Merge jdk:jdk-27+5
Reviewed-by: rvansa
-------------
PR: https://git.openjdk.org/crac/pull/288
More information about the crac-dev
mailing list