Merge jdk:jdk-28+5#329
Conversation
Reviewed-by: shade, kvn
Reviewed-by: darcy
…WARNINGS Reviewed-by: erikj, asemenyuk, prr
…cesTree after JDK-8377070 Co-authored-by: David Beaumont <dbeaumont@openjdk.org> Reviewed-by: alanb
Reviewed-by: vlivanov, mhaessig
…tmaps after region uncommit Reviewed-by: aboldtch, manc
… use 24-bit immediate operands Reviewed-by: adinn, haosun
…iant Reviewed-by: tschatzl, jsikstro, gli
Reviewed-by: vpaprotski, ascarpino
Reviewed-by: iris, alanb, erikj
Reviewed-by: kevinw, ayang, lmesnik, syan
Reviewed-by: darcy, erikj, iris
Reviewed-by: prr, kizune
…ting 16KB per request Reviewed-by: jpai, dfuchs
Reviewed-by: erikj
…ualAlloc2 and MapViewOfFile3 Reviewed-by: stuefe, asmehra, jsjolen
Reviewed-by: jsikstro, coleenp
Reviewed-by: alanb, cjplummer
… with exit code 139 Reviewed-by: dholmes, lmesnik
…thread Reviewed-by: shade, galder
Reviewed-by: nbenalla
Reviewed-by: nbenalla
Reviewed-by: nbenalla
…otiated.java from JDK-8356544 shows intermittent timeouts Reviewed-by: rhalade, azeller
Co-authored-by: Doug Lea <dl@openjdk.org> Reviewed-by: alanb
…ShenandoahHeap Reviewed-by: wkemper, shade
Reviewed-by: alanb, jpai
…d placeholders Reviewed-by: jlu
Reviewed-by: alanb, shade
…ce logging enabled Reviewed-by: fbredberg, coleenp
…iTest/TestDescription.java in virtual thread configs 8387557: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM02/cm02t001/TestDescription.java in virtual thread configs 8387558: ProblemList vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/TestDescription.java on windows 8387560: ProblemList vmTestbase/nsk/jdi/EventRequestManager/threadStartRequests/thrstartreq002/TestDescription.java in virtual thread configs Reviewed-by: sspitsyn
…ifferent core types Reviewed-by: dzhang, fyang
Reviewed-by: epeter, shade, chagedorn, mchevalier
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org> Reviewed-by: tschatzl, aboldtch
Reviewed-by: dlong, kvn, vlivanov
…ad during CDS abort Reviewed-by: shade, dholmes
Reviewed-by: qamai, aph
…nconsistent state Reviewed-by: aboldtch, ayang
… in SSLAlgorithmDecomposer Reviewed-by: abarashev, mullan
…tion Reviewed-by: dfuchs
…ions Reviewed-by: lancea, alanb, simonis
…mistic on Linux Reviewed-by: alanb
Co-authored-by: Ferenc Rakoczi <ferenc.r.rakoczi@oracle.com> Reviewed-by: adinn, semery
Added tag jdk-28+5 for changeset db987b1
|
The CI failures are known issues:
|
|
👋 Welcome back tpushkin! A progress list of the required criteria for merging this PR into |
|
@TimPushkin This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
Webrevs
|
|
/integrate |
|
Going to push as commit 439cc2d. |
|
@TimPushkin Pushed as commit 439cc2d. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Merges tag
jdk-28+5.Output of git show --remerge-diff
commit e9f1e224594048b8dd2ea5e937718a798042da0c Merge: 5452791c05f db987b1e378 Author: Timofei Pushkin <tpushkin@openjdk.org> Date: Mon Jul 6 10:12:05 2026 +0200 Merge tag 'jdk-28+5' into crac-merge-jdk-28+5 Added tag jdk-28+5 for changeset db987b1e diff --git a/src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java b/src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java remerge CONFLICT (content): Merge conflict in src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java index b74a4a98d0e..1fd196dc31b 100644 --- a/src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java +++ b/src/java.base/share/classes/jdk/internal/jimage/BasicImageReader.java @@ -76,37 +76,15 @@ public class BasicImageReader implements AutoCloseable { private final Path imagePath; private final ByteOrder byteOrder; private final String name; -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) private ByteBuffer memoryMap; - private FileChannel channel; -||||||| f8f7ad28ba0 - private final ByteBuffer memoryMap; - private final FileChannel channel; -======= - private final ByteBuffer memoryMap; private final boolean isMemoryMapped; - private final FileChannel channel; ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) + private FileChannel channel; private final ImageHeader header; -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) - private final long indexSize; + private final int indexSize; private IntBuffer redirect; private IntBuffer offsets; private ByteBuffer locations; private ByteBuffer strings; -||||||| f8f7ad28ba0 - private final long indexSize; - private final IntBuffer redirect; - private final IntBuffer offsets; - private final ByteBuffer locations; - private final ByteBuffer strings; -======= - private final int indexSize; - private final IntBuffer redirect; - private final IntBuffer offsets; - private final ByteBuffer locations; - private final ByteBuffer strings; ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) private final ImageStringsReader stringsReader; private final Decompressor decompressor; private Object cracResource; @@ -133,77 +111,15 @@ public class BasicImageReader implements AutoCloseable { if (map != null && MAP_ALL) { channel = null; } else { -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) channel = openFileChannel(); registerIfCracPresent(); -||||||| f8f7ad28ba0 - channel = FileChannel.open(imagePath, StandardOpenOption.READ); - // No lambdas during bootstrap - AccessController.doPrivileged(new PrivilegedAction<Void>() { - @Override - public Void run() { - if (BasicImageReader.class.getClassLoader() == null) { - try { - Class<?> fileChannelImpl = - Class.forName("sun.nio.ch.FileChannelImpl"); - Method setUninterruptible = - fileChannelImpl.getMethod("setUninterruptible"); - setUninterruptible.invoke(channel); - } catch (ClassNotFoundException | - NoSuchMethodException | - IllegalAccessException | - InvocationTargetException ex) { - // fall thru - will only happen on JDK-8 systems where this code - // is only used by tools using jrt-fs (non-critical.) - } - } - - return null; - } - }); -======= - channel = FileChannel.open(imagePath, StandardOpenOption.READ); - // No lambdas during bootstrap - AccessController.doPrivileged(new PrivilegedAction<Void>() { - @Override - public Void run() { - if (isCurrentRuntimeImage) { - try { - Class<?> fileChannelImpl = - Class.forName("sun.nio.ch.FileChannelImpl"); - Method setUninterruptible = - fileChannelImpl.getMethod("setUninterruptible"); - setUninterruptible.invoke(channel); - } catch (ClassNotFoundException | - NoSuchMethodException | - IllegalAccessException | - InvocationTargetException ex) { - // fall thru - will only happen on JDK-8 systems where this code - // is only used by tools using jrt-fs (non-critical.) - } - } - - return null; - } - }); ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) } -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) - // If no memory map yet and 64 bit jvm then memory map entire file - if (MAP_ALL && map == null) { - map = createMemoryMap(channel.size()); -||||||| f8f7ad28ba0 - // If no memory map yet and 64 bit jvm then memory map entire file - if (MAP_ALL && map == null) { - map = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); -======= isMemoryMapped = isCurrentRuntimeImage && MAP_ALL; // If no memory map yet, runtime image, and 64 bit jvm then memory map entire file if (map == null && isMemoryMapped) { - map = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) + map = createMemoryMap(channel.size()); } @@ -224,15 +140,7 @@ public class BasicImageReader implements AutoCloseable { // If no memory map yet then must be 32 bit jvm or not runtime image not previously mapped if (map == null) { -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) - // Just map the image index - map = createMemoryMap(indexSize); -||||||| f8f7ad28ba0 - // Just map the image index - map = channel.map(FileChannel.MapMode.READ_ONLY, 0, indexSize); -======= map = readDirectBuffer(indexSize); ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) } memoryMap = map.asReadOnlyBuffer(); @@ -337,7 +245,7 @@ public class BasicImageReader implements AutoCloseable { } else if ("afterRestore".equals(method.getName())) { if (channel != null) { channel = openFileChannel(); - memoryMap = createMemoryMap(MAP_ALL ? channel.size() : indexSize).asReadOnlyBuffer(); + memoryMap = (isMemoryMapped ? createMemoryMap(channel.size()) : readDirectBuffer(indexSize)).asReadOnlyBuffer(); initMappedBuffers(); } } else if ("toString".equals(method.getName())) { @@ -358,12 +266,13 @@ public class BasicImageReader implements AutoCloseable { @SuppressWarnings("removal") private FileChannel openFileChannel() throws IOException { + final boolean isCurrentRuntimeImage = BasicImageReader.class.getClassLoader() == null; FileChannel channel = FileChannel.open(imagePath, StandardOpenOption.READ); // No lambdas during bootstrap AccessController.doPrivileged(new PrivilegedAction<Void>() { @Override public Void run() { - if (BasicImageReader.class.getClassLoader() == null) { + if (isCurrentRuntimeImage) { try { Class<?> fileChannelImpl = Class.forName("sun.nio.ch.FileChannelImpl"); diff --git a/test/hotspot/jtreg/ProblemList.txt b/test/hotspot/jtreg/ProblemList.txt remerge CONFLICT (content): Merge conflict in test/hotspot/jtreg/ProblemList.txt index 4f5aac769ea..7d24310b7d3 100644 --- a/test/hotspot/jtreg/ProblemList.txt +++ b/test/hotspot/jtreg/ProblemList.txt @@ -101,14 +101,8 @@ runtime/os/TestTracePageSizes.java#compiler-options 8267460 linux-aarch64 runtime/os/TestTracePageSizes.java#G1 8267460 linux-aarch64 runtime/os/TestTracePageSizes.java#Parallel 8267460 linux-aarch64 runtime/os/TestTracePageSizes.java#Serial 8267460 linux-aarch64 -<<<<<<< 5452791c05f (8386890: [CRaC] Drop deprecated aliases of bundled engines) # JDK-8310862 was closed but we're still seeing errors with the updated test runtime/ClassInitErrors/TestStackOverflowDuringInit.java 8310862 generic-all -runtime/StackGuardPages/TestStackGuardPagesNative.java 8303612 linux-all -||||||| f8f7ad28ba0 -runtime/StackGuardPages/TestStackGuardPagesNative.java 8303612 linux-all -======= ->>>>>>> db987b1e378 (8386474: Aarch64: Correct static_assert((N & (N - 1)) == 0) runtime/ErrorHandling/MachCodeFramesInErrorFile.java 8313315 linux-ppc64le runtime/NMT/VirtualAllocCommitMerge.java 8309698 linux-s390x runtime/Thread/TestAlwaysPreTouchStacks.java 8383372 macosx-aarch64Progress
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/crac.git pull/329/head:pull/329$ git checkout pull/329Update a local copy of the PR:
$ git checkout pull/329$ git pull https://git.openjdk.org/crac.git pull/329/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 329View PR using the GUI difftool:
$ git pr show -t 329Using diff file
Download this PR as a diff file:
https://git.openjdk.org/crac/pull/329.diff
Using Webrev
Link to Webrev Comment